例子:
# urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', (r'^blog/$', views.page), (r'^blog/page(?Pd+)/$', views.page), ) # views.py def page(request, num='1'): # Output the appropriate page of blog entries, according to num. # ...
在這里,兩個(gè)URL表達(dá)式都指向了同一個(gè)視圖 views.page ,但是第一個(gè)表達(dá)式?jīng)]有傳遞任何參數(shù)。 如果匹配到了第一個(gè)樣式, page() 函數(shù)將會(huì)對(duì)參數(shù) num 使用默認(rèn)值 "1" ,如果第二個(gè)表達(dá)式匹配成功, page() 函數(shù)將使用正則表達(dá)式傳遞過(guò)來(lái)的num的值。
(注:我們已經(jīng)注意到設(shè)置默認(rèn)參數(shù)值是字符串 `` ‘1'`` ,不是整數(shù)`` 1`` 。為了保持一致,因?yàn)椴蹲浇o`` num`` 的值總是字符串。
就像前面解釋的一樣,這種技術(shù)與配置選項(xiàng)的聯(lián)用是很普遍的。 以下這個(gè)例子比提供視圖配置選項(xiàng)一節(jié)中的例子有些許的改進(jìn)。
def my_view(request, template_name='mysite/my_view.html'): var = do_something() return render_to_response(template_name, {'var': var})
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com