django模板怎麼配置檢視和url
在建立專案時,Django會自動建立URL配置,在urls.py檔案中
檔案的預設內容如下所示:
"""mysite URL Configuration The urlpatterns list routes URLs to views. For more information please see: Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') Including another URLconf 1. Add an import: from blog import urls as blog_urls 2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls)) """ from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), ]
去掉註釋,剩下的都是精華,逐行分析:
第一行從 django.conf.urls 模組中匯入兩個函式:include,用於匯入另一個 URL 配置模組;url,使用正規表示式模式匹配瀏覽器中的 URL,把它對映到 Django 專案中的某個模組上。
第二行從 django.contrib 模組中匯入 admin 函式。這個函式傳給 include 函式,載入 Django 管理後臺的 URL。
第三行是 urlpatterns,即 url() 例項列表。Django期待URL配置中有urlpatterns這個物件,它負責定義 URL 與處理URL 的程式碼之間的對映。在 URL 配置中新增 URL 和檢視的方式是,把 URL 模式對映到檢視函式上。
注意:
url函式的第一個引數是正規表示式,第二個是檢視函式
如果我們指定的URL模式要求末尾有/,預設情況下,如果請求的 URL 不匹配任何 URL 模式,而且末尾沒有斜線,那麼 Django 會把它重定向到末尾帶斜線的 URL
我們以物件的形式傳入檢視函式,而沒有呼叫函式
Django處理請求的過程
建立Django專案時,自動建立了setting.py檔案,儲存了當前專案的全部配置,各個配置的名稱都是大寫,例如TEMPLATE_DIRS,DATABASES等,其中ROOT_URLCONF,指向自動生成的urls.py,它告訴Django,網站的URL配置在哪個Python模組。收到針對某個 URL的請求時,Django 載入 ROOT_URLCONF 設定指定的 URL 配置;然後按順序檢查 URL 配置中的各個 URL 模式,依次與請求的 URL 比 較,直到找到匹配的模式為止。
找到匹配的模式後,呼叫對應的檢視函式,把一個HttpRequest物件作為第一個引數傳給檢視函式,檢視函式必須返回一個HttpResponse物件。
綜上,整個過程如下:
收到請求
Django檢視ROOT_URLCONF設定,找到根URL配置
Django比較URL配置中的各個URL模式,找到與請求匹配的那個
如果找到,呼叫對應的檢視函式
檢視函式返回一個HttpResponse物件
Django把HttpResponse物件轉換成正確的HTTP響應,得到網頁。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2001/viewspace-2836937/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Django的檢視和模板Django
- Django基礎三之路由、檢視、模板Django路由
- Flask URL和檢視(一)Flask
- PbootCMS模板中那些url怎麼呼叫boot
- Django檢視之檢視類和中介軟體Django
- 在django中怎麼檢視建立的資料表Django
- django 的類檢視和函式檢視-雜談Django函式
- Django 檢視層Django
- Django檢視層Django
- python(django(管路頁面、概況、編寫檢視佔位、編寫一個真正的檢視、丟擲錯誤、檢視使用模板系統、去除硬編碼url、為url新增命名開空間、編寫表單))PythonDjango
- 電腦配置的三種檢視方法 不用藉助軟體怎麼檢視電腦配置
- Django --URLDjango
- django的檢視層Django
- Django - 探究FBV 檢視Django
- Django之檢視層Django
- Django進階之路由層和檢視層Django路由
- win10系統怎麼檢視電腦配置 檢視電腦配置資訊的詳細方法Win10
- PHP歷理 檢視模板和標籤庫PHP
- Django裡URL配置中name引數的作用Django
- 怎麼檢視php版本PHP
- 【6】Django檢視函式Django函式
- Django框架之檢視層Django框架
- [Django框架之檢視層]Django框架
- Django(2) - Django模板Django
- Express 實戰(七):檢視與模板:Pug 和 EJSExpressJS
- Django(27)Django類檢視新增裝飾器Django
- win10電腦配置要求怎麼檢測_win10電腦硬體配置檢測如何檢視Win10
- Django - 檢視層 - 檢視函式及快捷方式Django函式
- Django模板Django
- win10如何檢視電腦配置顯示卡 win10怎麼樣檢視電腦顯示卡配置Win10
- 安卓怎麼檢視heic安卓
- [Django REST framework - 檢視元件之檢視基類、檢視擴充套件類、檢視子類、檢視集]DjangoRESTFramework元件套件
- Django 模板引擎以及模板Django
- Spring 指南(瞭解檢視模板)Spring
- Django中的模板渲染是什麼Django
- win10怎麼檢視硬碟容量_win10怎麼檢視電腦硬碟大小Win10硬碟
- Django-模板Django
- Django 模板層Django