2011-11-04 41 views
0

在urls.py:Django的变量:申报网址

(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'?

谢谢。

回答

6

你不需要把它放在extra_context。它已被捕获到URL中,因此出现在模板params字典中:{{ params.user_id }}

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

+0

非常感谢! –

0

该变量确实没有在该Python代码中声明。 :)你不需要在视图上下文中设置这个变量。该视图将接收与** kwargs相匹配的命名匹配。

+0

但正如你所看到的我使用通用视图...如何直接发送到模板? –