亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

對Django url的幾種使用方式詳解

 更新時間:2019年08月06日 15:22:25   作者:Suny_慶  
今天小編就為大家分享一篇對Django url的幾種使用方式詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

利用Django開發(fā)網站,可以設計出非常優(yōu)美的url規(guī)則,如果url的匹配規(guī)則(包含正則表達式)組織得比較好,view的結構就會比較清晰,比較容易維護。

最簡單的形式

<code> 
from django.conf.urls import patterns, url 
urlpatterns = patterns('', 
 url(r'^articles/2003/$', 'news.views.special_case_2003'), 
 url(r'^articles/(\d{4})/$', 'news.views.year_archive'), 
 url(r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'), 
 url(r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'), 
)</code> 

其中,正則表達式中組匹配出來的結果可以作為positional parameters傳遞給view.

如果url是www.yourdomain/articles/2005/,則會匹配第二條規(guī)則,執(zhí)行news.views.year_archive('2005').

注意點

域名部分會被過濾掉

articles的前面不需要添加/,因為前序url的末尾一定會有/

任何組匹配的變量,都會議字符串的形式傳遞給view, 雖然通過(\d{4})匹配出了2005,但2005任然會被當做字符串傳遞給year_archive

利用named group來傳遞參數

可以通過以下形式為特定的組指定一個名稱.

urlpatterns = patterns('', 
 url(r'^articles/2003/$', 'news.views.special_case_2003'), 
 url(r'^articles/(?P<year>\d{4})/$', 'news.views.year_archive'), 
 url(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', 'news.views.month_archive'), 
 url(r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$', 'news.views.article_detail'), 
) 

這樣的話,組的匹配結果會通過keyword parameters的形式傳遞給view.例如year_archive(year='2005')

利用named group可以為view指定一個默認參數來匹配多條規(guī)則。

# URLconf 
from django.conf.urls import patterns, url 
 
urlpatterns = patterns('', 
 url(r'^blog/$', 'blog.views.page'), 
 url(r'^blog/page(?P<num>\d+)/$', 'blog.views.page'), 
) 
 
# View (in blog/views.py) 
def page(request, num="1"): 
 # Output the appropriate page of blog entries, according to num. 

指定view前綴(提取公因式)

patterns函數的第一個參數即是view的前綴

from django.conf.urls import patterns, url 
 
urlpatterns = patterns('news.views', 
 url(r'^articles/(\d{4})/$', 'year_archive'), 
 url(r'^articles/(\d{4})/(\d{2})/$', 'month_archive'), 
 url(r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'article_detail'), 
) 

指定多個view前綴

urlpatterns = patterns('myapp.views', 
 url(r'^$', 'app_index'), 
 url(r'^(?P<year>\d{4})/(?P<month>[a-z]{3})/$','month_display'), 
) 
urlpatterns += patterns('weblog.views', 
 url(r'^tag/(?P<tag>\w+)/$', 'tag'), 
) 

include其它匹配模塊

from django.conf.urls import include, patterns, url 
 
urlpatterns = patterns('', 
 # ... snip ... 
 url(r'^comments/', include('django.contrib.comments.urls')), 
 url(r'^community/', include('django_website.aggregator.urls')), 
 url(r'^contact/', include('django_website.contact.urls')), 
 # ... snip ... 
) 

當然也可以直接include其它patterns

from django.conf.urls import include, patterns, url 
 
extra_patterns = patterns('', 
 url(r'^reports/(?P<id>\d+)/$', 'credit.views.report'), 
 url(r'^charge/$', 'credit.views.charge'), 
) 
 
urlpatterns = patterns('', 
 url(r'^$', 'apps.main.views.homepage'), 
 url(r'^help/', include('apps.help.urls')), 
 url(r'^credit/', include(extra_patterns)), 
) 
 

為view函數傳遞額外參數

from django.conf.urls import patterns, url 
 
urlpatterns = patterns('blog.views', 
 url(r'^blog/(?P<year>\d{4})/$', 'year_archive', {'foo': 'bar'}), 
) 

直接使用view函數

from django.conf.urls import patterns, url 
from mysite.views import archive, about, contact 
 
urlpatterns = patterns('', 
 url(r'^archive/$', archive), 
 url(r'^about/$', about), 
 url(r'^contact/$', contact), 
) 

以上這篇對Django url的幾種使用方式詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用Python腳本來獲取Cisco設備信息的示例

    使用Python腳本來獲取Cisco設備信息的示例

    這篇文章主要介紹了編寫Python腳本來獲取Python腳本來獲取Cisco設備信息的教程,文中的示例是獲取一臺思科交換機的腳本,需要的朋友可以參考下
    2015-05-05
  • Python itertools.product方法代碼實例

    Python itertools.product方法代碼實例

    這篇文章主要介紹了Python itertools.product方法代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Python中int()函數的用法淺析

    Python中int()函數的用法淺析

    這篇文章主要介紹了Python中int()函數的用法淺析的相關資料,需要的朋友可以參考下
    2017-10-10
  • python中的json數據和pyecharts模塊入門示例教程

    python中的json數據和pyecharts模塊入門示例教程

    JSON是一種輕量級的數據交互格式??梢园凑?JSON指定的格式去組織和封裝數據,這篇文章主要介紹了python中的json數據和pyecharts模塊入門,需要的朋友可以參考下
    2022-12-12
  • 關于Python中Flask全局異常處理流程詳解

    關于Python中Flask全局異常處理流程詳解

    Flask是一個基于Python的Web框架,它提供了全局異常處理的機制來捕獲和處理應用程序中的異常,本文將詳細介紹Flask的全局異常處理,并提供相應的代碼示例,需要的朋友可以參考下
    2023-06-06
  • python實現超時退出的三種方式總結

    python實現超時退出的三種方式總結

    這篇文章主要介紹了python實現超時退出的三種方式總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Django實現翻頁的示例代碼

    Django實現翻頁的示例代碼

    翻頁是經常使用的功能,Django提供了翻頁器。用Django的Paginator類實現,有需要了解Paginator類用法的朋友可參考。希望此文章對各位有所幫助
    2021-05-05
  • 利用Python復制文件的9種方法總結

    利用Python復制文件的9種方法總結

    這篇文章主要給大家總結介紹了關于利用Python復制文件的9種方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • python實現把兩個二維array疊加成三維array示例

    python實現把兩個二維array疊加成三維array示例

    今天小編就為大家分享一篇python實現把兩個二維array疊加成三維array示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python+requests接口自動化框架的實現

    python+requests接口自動化框架的實現

    這篇文章主要介紹了python+requests接口自動化框架的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論