<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ![](https://img.kancloud.cn/41/e0/41e066af9a6c25a24868d9667253ec98_1241x333.jpg) ## 模板介紹 在之前的章節中,視圖函數只是直接返回文本,而在實際生產環境中其實很少這樣用,因為實際的頁面大多是帶有樣式的HTML代碼,這可以讓瀏覽器渲染出非常漂亮的頁面。DTL是Django Template Language三個單詞的縮寫,也就是Django自帶的模板語言。當然也可以配置Django支持Jinja2等其他模板引擎,但是作為Django內置的模板語言,和Django可以達到無縫銜接而不會產生一些不兼容的情況。 ### DTL與普通的HTML文件的區別 DTL模板是一種帶有特殊語法的HTML文件,這個HTML文件可以被Django編譯,可以傳遞參數進去,實現數據動態化。在編譯完成后,生成一個普通的HTML文件,然后發送給客戶端。 ### 渲染模板 渲染模板有多種方式。這里講下兩種常用的方式。 1.render_to_string:找到模板,然后將模板編譯后渲染成Python的字符串格式。 最后再通過HttpResponse類包裝成一個HttpResponse對象返回回去。 ``` from django.template.loader import render_to_string from django.http import HttpResponse def book_detail(request,book_id): html = render_to_string("index.html") return HttpResponse(html) 錯誤信息:django.template.exceptions.TemplateDoesNotExist: index.html 解決辦法:需要在settings.py里面設置:'DIRS': [os.path.join(BASE_DIR, 'templates')], ``` 2.以上方式雖然已經很方便了。但是django還提供了一個更加簡便的方式,直 接將模板渲染成字符串和包裝成HttpResponse對象一步到位完成。 ``` from django.shortcuts import render def book_list(request): return render(request,'index.html') ``` ### 模板查找路徑配置 在項目的settings.py文件中。有一個TEMPLATES配置,這個配置包含了模板引擎的配置,模板查找路徑的配置,模板上下文的配置等。模板路徑可以在兩個地方配置。 1.DIRS:這是一個列表,在這個列表中可以存放所有的模板路徑,以后在視圖中使用render或者render_to_string渲染模板的時候,會在這個列表的路徑中查找模板。 2.APP_DIRS:默認為True,這個設置為True后,會在INSTALLED_APPS的安裝了的APP下的templates文件加中查找模板。settings.py中INSTALLED_APPS數組中添加你的app名字。 3.查找順序:比如代碼render('list.html')。先會在DIRS這個列表中依次查找路徑下有沒有這個模板,如果有,就返回。如果DIRS列表中所有的路徑都沒有找到,那么會先檢查當前這個視圖所處的app是否已經安裝,如果已經安裝了,那么就先在當前這個app下的templates文件夾中查找模板,如果沒有找到,那么會在其他已經安裝了的app中查找。如果所有路徑下都沒有找到,那么會拋出一個TemplateDoesNotExist的異常。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看