我在Windows 7 x64上使用Django 1.3和Python 2.7.2。
我有一个这样的 URL 模式:
url(r'^(?P<club_id>d+)/$', 'view_club')
从模式中,我希望能够使用请求。在我的模板中 GET 以便能够基于此 GET 变量 (club_id) 创建指向我的视图的 URL。我在网上读到我可以做到:
{{ request.GET.club_id }}
但是,这始终显示为空白。我不知道原因。我的默认上下文处理器列表中有请求上下文处理器。
感谢您的帮助。
在您的示例中,club_id
不是 GET 参数,它是 URL 中路径的一部分。 视图函数将club_id
作为参数,然后应将其放在上下文中,以便模板可以访问它。
例如,您的视图函数:
def view_club(request, club_id):
return render(request, "template_name.html", { 'club_id': club_id })
然后在模板中:
{{ club_id }}
如果您在URL中传递变量 - 在本例中为club_id - 只需将其作为参数包含在请求旁边的视图函数中:
def get_club(request,club_id):
club = Club.object.get(pk=club_id)
return render_to_response('club.html', {'club': club})
现在,在您的模板中,您可以访问 {{club}} 作为单独选择的对象,并执行类似 {{club.name}} 的操作 这也适用于具有多个对象的变量,您可以使用 for 循环进行迭代。