<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國際加速解決方案。 廣告
                [TOC] 之前我們在視圖函數里返回的是一個HttpResponse類的實例,但是我們的網頁不可能只有HttpResponse返回的一句話,我們也不可能每次需要改頁面樣式都要操作python代碼。 django 對這個問題提供了一個很好的解決方案,叫做模板系統。django 要我們把頁面樣式寫到一個文件里,然后 django 自己會去讀取這個文件,再把讀取到的內容傳給 HttpResponse。 在之前創建的 `book` 應用下新建 目錄 `template` ,模板相關代碼會在此做演示。 ## 配置 在 `settings.py` 文件中 `TEMPLATES` 項指定了如何渲染模板。 ```python TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] ``` APP_DIRS項被設置為了True,代表django會在每個app目錄內尋找 `templates` 子目錄,而我們的 `templates` 目錄是放在 `book` 應用下的,所以不需要我們進行DIRS的設置。而如果templates要放在其他文件夾下,則需要設置DIRS項。 ## 使用 ### 1. 創建模板 在 `templates` 目錄下新建文件 `index.html` ,寫入代碼: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {{ book }} </body> </html> ``` 類似 `{{ }}` 這樣的格式叫做模板標簽,會在后邊有詳細的講解。 ### 2. 創建視圖函數 在 `book` 目錄下的 `views.py` 文件下創建視圖函數。 ``` from django.http import HttpResponse def index(request): template = loader.get_template('index.html') context = {"book": "邊城浪子"} return HttpResponse(template.render(context, request)) ``` 新建 `urls.py` 文件配置路由 ``` from django.conf.urls import url from . import views urlpatterns = [ url(r'^index/', views.index, name="book") ] ``` 在項目目錄下的 `urls.py` 注冊子路由 訪問路徑 [http://127.0.0.1:8000/book/index/](http://127.0.0.1:8000/book/index/) k可以看到返回的結果。 #### render 由上邊的示例可以看出,使用模板有三個步驟 1. 獲得模板 2. 加載上下文 3. 渲染模板,返回響應 這三個步驟是很常用的步驟,所以django為我們提供了快捷完成的方式 `render`。 導入包: ``` from django.shortcuts import render ``` 修改視圖函數 ``` from django.shortcuts import render def index(request): context = {"book": "邊城浪子"} return render(request, 'index.html', context) ``` render的常用參數: - request:固定參數 - template:模板文件的路徑 - context:context數據 其他參數: - content_type: 生成的文檔要使用的MIME 類型。默認為DEFAULT_CONTENT_TYPE 設置的值。 - status: http的響應代碼,默認是200. - using: 用于加載模板使用的模板引擎的名稱。
                  <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>

                              哎呀哎呀视频在线观看