Django URLconf参数传递与通用视图的使用
1. 捕获参数与include()的工作原理
在Django中,包含的URLconf可以接收来自父URLconf的捕获参数。例如:
# root urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^(?P<username>\w+)/blog/', include('foo.urls.blog')),
)
# foo/urls/blog.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^$', 'foo.views.blog_index'),
(r'^archive/$', 'foo.views.blog_archive'),
)
在这个例子中,捕获的 username 变量会被传递给包含的URLconf,进而传递给该URLconf中的每个视图函数。需要注意的是,无论包含的URLconf中的视图是否真正将这些参数视为有效参数,捕获的参数都会被传递给每一行。因此,只有当你确定包含的URLconf中的每个视图都能接受你传递的参数时,这种技术才有用。
2. 额外URLconf选项与include()的工作原理
同样,你可以像向普通视图传递额外URLconf选项一样,以字典的形式向 include() 传递额外的URLconf选项。当你这样做
超级会员免费看
订阅专栏 解锁全文
75

被折叠的 条评论
为什么被折叠?



