django中Passing extra options to view functions的描述不是太明白,求指教

linkBG
  • 387

urls.py

url('^blog/(?P<year>[0-9]{4})/$', views.year_archive,{'foo':'bar'}),

和官方文档一样.
views.py

def year_archive(request,year,foo):
    return (year,foo)#或者输出其中个一个

那么这个形式能体现什么呢?具体使用的话在什么地方可以使用呢?
谢谢

回复
阅读 1.1k
1 个回答

这种用法主要是往视图中传递额外参数时有用,实际上可以将其看成是视图的1个默认参数的意思。而在一般的urlconf中,比如:

url('^blog/(?P<year>[0-9]{4})/$', views.year_archive),

只能匹配blog/2016/这个的URL,而:

url('^blog/(?P<year>[0-9]{4})/$', views.year_archive,{'foo':'bar'}),

其等价于blog/2016/foo

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏