django第三天(路由基础和路由分配)
生活随笔
收集整理的這篇文章主要介紹了
django第三天(路由基础和路由分配)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
路由基礎
url(正則路徑,視圖函數地址,默認關鍵字參數,路由別名) 路由由上而下匹配, ""可以匹配任意路由 "^$"來匹配"/" url("index/$",views.error) url("index",views.index) 路由先從上到下匹配一次,匹配不上會自動添加/再匹配一次,故index匹配到index 如果想取消默認添加/ ①注釋掉settings.py MIDDLEWARE = [.middleware.common.CommonMiddleware] ②將APPEND_SLASH設置為False有名無名分組
無名分組 路由端: url(r"^login/(\d+)/$",views.login) 視圖函數端: def login(request,var)有名分組 路由端: url(r"^login/(?P<user>\d+)/(?P<pwd>\d+)/$",views.login) 視圖函數端: def login(request,user,pwd) #注:有名無名不能混用多app共存的路由分配
在主路由中有多個app,防止視圖函數沖突 ①視圖函數命名加上項目名app01_login ②import app01,app02 url(r"^app01/login/$",app01.login) ③路由分發 1.在每一個應用中建立自身的urls.py文件,語法同主路由 2.在主路由進行分發 from django.conf.urls import include urlpatterns = [url(r'^app01/',include('app01.urls')),url(r"^app02/",include('app02.urls')) ]多app共存時模板沖突問題
多app共存時,可能存在相同的功能,轉跳相同名稱的html(模板),造成模板沖突 解決方法:①模板名前面加上項目app01_login.html②在根目錄的templates下創建項目名相同的文件夾,render(request,"app_name/login.html")轉載于:https://www.cnblogs.com/robert-zhou/p/10478843.html
總結
以上是生活随笔為你收集整理的django第三天(路由基础和路由分配)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Django之ORM(多对多)
- 下一篇: 572. Subtree of Anot