Django变量:在url中声明

时间:2011-11-04 14:50:11

标签: django django-urls

在urls.py中:

(r'^bbb/id(?P<user_id>[0-9]+)/$', 'django.views.generic.simple.direct_to_template,
    {'template': 'some.html', 'extra_context': {'user_id': user_id}}),

在some.html中:{{ user_id }}

但是有一个错误:name 'user_id' is not defined (in urls.py)

那么,如何在urls.py中声明该变量并将其直接发送到'some.html'???

感谢。

2 个答案:

答案 0 :(得分:6)

您无需将其放入extra_context。它已经在URL中捕获,因此存在于模板中的params字典中:{{ params.user_id }}

请参阅the documentation - 并注意这些旧的基于函数的通用视图已弃用,您应该使用基于类的TemplateView

答案 1 :(得分:0)

该变量确实未在该python代码中声明。 :)您不需要在视图上下文中设置此变量。该视图将以** kwargs接收命名匹配。