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