获取 URL 编码请求的值.Django 模板中的 GET 变量



我在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 循环进行迭代。

最新更新