這篇文章將為大家詳細講解有關Django框架之正則表達式URL誤區有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
十載專注成都網站制作,成都企業網站定制,個人網站制作服務,為大家分享網站制作知識、方案,網站設計流程、步驟,成功服務上千家企業。為您提供網站建設,網站制作,網頁設計及定制高端網站建設服務,專注于成都企業網站定制,高端網頁制作,對柔性防護網等多個方面,擁有多年的網站維護經驗。問題:
我學習的視頻大概是2015年錄的,里面用的Django版本比較老關于正則表達式URL這一塊都是用的url(“url(r'^admin/', admin.site.urls),”)
方法。而我自己練習的時候是下載的最新版本,而正則表達式URL用的確實path(“path('admin/', admin.site.urls),”)
方法。剛開始一對以匹配的時候都能成功,就沒太在意這個細節。
直到后面正則匹配多個時(path('detail-(\d+).html', views.detail),)
,總是報錯“page not found”。我檢查了好幾遍,明明一模一樣怎么就不行尼?其實看顏色就感覺有點不太對,但又不知道是什么原因。后來查了相關版本文檔之后,終于找到解決的方法了!
下面附上相關代碼:
1.這個是最重要的py文件,其他的就差不多了。
2.其他相關代碼:
views.py
def detail(request,nid): # print(nid) # return HttpResponse(nid) detail_info = USER_DICT[nid] return render(request,'detail.html',{'detail_info':detail_info})
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <ul> {% for k,v in user_dict.items %} <li><a target="_blank" href="/detail-{{ k }}.html" rel="external nofollow" >{{ v.name }}</a></li> {% endfor %} </ul> </body> </html>
detail.py
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h2>詳細信息</h2> <h7>用戶名:{{ detail_info.name }}</h7> <h7>郵箱:{{ detail_info.email }}</h7> </body> </html>
另外,URL要傳遞多個數據時候,嚴格按照順序傳遞的,并且函數定義必須有相應個數的參數,當然可以利用萬能參數接收任意個參加
普通情況下運用的正則表達式是:url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+)', views.detail),
而對應的detail函數的是這樣的:def detail(request, *args, **kwargs):pass
關于“Django框架之正則表達式URL誤區有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:Django框架之正則表達式URL誤區有哪些-創新互聯
轉載來于:http://vcdvsql.cn/article20/ejsjo.html
成都網站建設公司_創新互聯,為您提供網站策劃、品牌網站制作、微信小程序、定制網站、網站排名、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯