第七章 高级视图和URL配置

一、简化导入视图函数

     通过使用导入视图函数所在的块方式导入视图函数,如:

    from . import views

二、在调试模式下提供特殊的URL

from django.conf import settings
from django.conf.urls import url
from . import views

urlpatterns = [
   url(r'^$',views.homepage),
]

if settings.DEBUG = True:
   urlpatterns += [url(r'^debuginfo/$',views.debug)]

当DEBUGz值为True时,url=‘/debuginfo/’才生效

三、使用具名分组传递参数

     具名分组句法:(?P<name>pattern),name为分组的名称,即变量名,pattern为匹配模式

 例子:

urlpatterns = [
   re_path(r'^search/(?P<year>[0-9]{4})',search),
    re_path(r'^search/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})',search),
]

第一个url匹配视图函数,search(request,year)

第二个url匹配视图函数,search(request,year,month)

匹配、分组计算方法:

1、如果有具名分组,使用具名分组,忽略非具名分组

2、否则,以位置参数传递非具名分组参数

四、给视图传递额外参数

urlpatterns = [
   re_path(r'^search/$',search,{'foo':'bar'})
]

匹配:search(request,foo='bar')

猜你喜欢

转载自www.cnblogs.com/wenwu5832/p/11931199.html