Python web入門:Django學習與實踐二(簡單頁面實現和建立一個模板)
一、第一個頁面實現(“hello world”)
實現步驟:
1.在views.py檔案中建立一個處理函式(引數名可以隨意,但是最好使用request,看起來清楚明瞭)
def index(request):
return render(request, template_name, context=None, content_type=None, status=None, using=None)
此方法的作用---結合一個給定的模板和一個給定的上下文字典,並返回一個渲染後的 HttpResponse 物件。
通俗的講就是把context的內容, 載入進templates中定義的檔案, 並通過瀏覽器渲染呈現.
引數講解:
request: 是一個固定引數, 沒什麼好講的。
template_name: templates 中定義的檔案, 要注意路徑名. 比如'templates\polls\index.html', 引數就要寫‘polls\index.html’
context: 要傳入檔案中用於渲染呈現的資料, 預設是字典格式
content_type: 生成的文件要使用的MIME 型別。預設為DEFAULT_CONTENT_TYPE 設定的值。
status: http的響應程式碼,預設是200.
using: 用於載入模板使用的模板引擎的名稱。
2.注意配置URL(在urls.py中)
from . import views as bv
#依葫蘆畫瓢
url(r'^index/',views.home, name='home')
注:在urls.py中標註出url配置有三種辦法,此處使用的是第一種
3.可以訪問了
可以使用localhost也可以使用127.0.0.1
E: 127.0.0.1:8000/index 注:此處的index就是相應處理函式的名字
二、建立一個模板
1.URL配置的另一種方式
在一種配置URL的方式會導致當請求函式過多時urls.py會顯得很混亂,因此採用第三種URL配置方法:使用include函式
Including another URLconf
1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) 此處的處理方法是在每個應用的內部建立自己的urls.py檔案,其格式內容與根目錄下urls.py 例如:配置說明使用include(‘blog.urls’)則是指向blog內自己的urls檔案,blog為訪問blog中模板的總入口
2.開發第一個模板(Template)
(1)什麼是模板?
模板就是用於前端顯示的一個框架,是一個HTML檔案,使用Django模板語言(DTL)編寫
(2)開發步驟
1)在應用的根目錄下建立一個名為Templates的目錄
2)在該目錄下建立模板檔案。如:index.html
3)在views.py中使用render返回模板,也就是render的第二個引數
(3)DTL應用初識
render()函式支援一個字典型別的引數
該字典是將資料傳遞給模板,鍵為引數名(此處可以聯想到JavaWeb中的“域”的問題和“$”的使用)
在模板中使用{{ 鍵名 }}來直接使用資料 (這點和javaWeb也是極其相似的)
(4)注意事項
Dj ango查詢模板問題:Django會根據INSTALLED_APPS的新增順序查詢templates,不同templates目錄中的同名HTML檔案會造成命名衝突
解決方法:在每個應用的Templates中建立以應用名為名的資料夾,將模板檔案放進去