最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

最簡單的形式

<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> 

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

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

注意點

域名部分會被過濾掉

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

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

利用named group來傳遞參數(shù)

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

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'), 
) 

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

利用named group可以為view指定一個默認(rèn)參數(shù)來匹配多條規(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函數(shù)的第一個參數(shù)即是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 ... 
) 

當(dāng)然也可以直接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函數(shù)傳遞額外參數(shù)

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

直接使用view函數(shù)

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的幾種使用方式詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python3自動更新緩存類的具體使用

    python3自動更新緩存類的具體使用

    本文介紹了使用一個自動更新緩存的Python類AutoUpdatingCache,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • python 自定義裝飾器實例詳解

    python 自定義裝飾器實例詳解

    這篇文章主要介紹了python 自定義裝飾器,結(jié)合實例形式分析了Python自定義裝飾器的功能、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-07-07
  • Python threading多線程編程實例

    Python threading多線程編程實例

    這篇文章主要介紹了Python threading多線程編程實例,本文講解了使用函數(shù)和線程類實現(xiàn)多線程編程的例子,需要的朋友可以參考下
    2014-09-09
  • 十個驚艷的Pythonic單行代碼

    十個驚艷的Pythonic單行代碼

    自從用?Python?編寫第一行代碼以來,我就被它的簡單性、出色的可讀性和流行的單行代碼所吸引。在本文中,將為大家介紹和解釋其中的一些單行代碼,希望對大家有所幫助
    2022-12-12
  • 解決python打不開文件(文件不存在)的問題

    解決python打不開文件(文件不存在)的問題

    今天小編就為大家分享一篇解決python打不開文件(文件不存在)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 一篇文章帶你了解Python中的裝飾器

    一篇文章帶你了解Python中的裝飾器

    Python中的裝飾器是你進(jìn)入Python大門的一道坎,不管你跨不跨過去它都在那里,下面這篇文章主要給大家介紹了關(guān)于Python中裝飾器的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python新建項目自動添加介紹和utf-8編碼的方法

    Python新建項目自動添加介紹和utf-8編碼的方法

    這篇文章主要介紹了Python新建項目自動添加介紹和utf-8編碼的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用selenium+chromedriver+xpath爬取動態(tài)加載信息

    使用selenium+chromedriver+xpath爬取動態(tài)加載信息

    這篇文章主要介紹了使用selenium+chromedriver+xpath爬取動態(tài)加載信息
    2022-02-02
  • python虛擬機之描述器實現(xiàn)原理與源碼分析

    python虛擬機之描述器實現(xiàn)原理與源碼分析

    在本篇文章當(dāng)中主要給大家介紹描述器背后的實現(xiàn)原理,通過分析?cpython對應(yīng)的源代碼了解與描述器相關(guān)的字節(jié)碼的指令,我們就可以真正了解到描述器背后的原理,需要的朋友可以參考下
    2023-05-05
  • pandas DataFrame的修改方法(值、列、索引)

    pandas DataFrame的修改方法(值、列、索引)

    這篇文章主要介紹了pandas DataFrame的修改方法(值、列、索引),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08

最新評論

秦皇岛市| 延寿县| 宿州市| 汽车| 平顶山市| 江都市| 璧山县| 西华县| 通州市| 称多县| 磐安县| 马鞍山市| 太湖县| 尼玛县| 仁怀市| 天等县| 锡林郭勒盟| 六安市| 高唐县| 望江县| 建始县| 浦县| 泸州市| 苏州市| 东台市| 垦利县| 迁安市| 海林市| 北宁市| 邵武市| 衡阳县| 六枝特区| 喀喇沁旗| 聂拉木县| 汝州市| 伊宁市| 外汇| 禹城市| 苏州市| 永城市| 宁德市|