5

我有一个看起来像这样的视图:

def selectCity(request, the_city):
    request.session["ciudad"] = the_city
    city = request.session["ciudad"]
    return HttpResponse('Ciudad has been set' + ": " + city)

还有一个如下所示的 URL:

url(r'^set/$', views.selectCity, {'the_city': 'gye'}, name='ciudad'),

现在,当我访问 /set/ 时,我会从 url {'the_city': 'gye'}

现在,我想做的是修改我的程序,以便我可以从不同的模板(index.html)调用“ciudad”url 并设置适当的会话变量。所以我会使用反向 URL 匹配和一个额外的参数来调用它,如下所示:

  <div class="modal-body">
      <a tabindex="-1" href="{% url ciudad 'the_city':'uio' %}">Quito</a>
      <br/>
      <a tabindex="-1" href="{% url ciudad 'the_city':'gye' %}">Guayaquil</a>
  </div>

我试图以各种方式修改 url 和视图以及反向 url 调用以尝试使其正常工作,但是我似乎无法弄清楚。我真的很感激一些指示。

4

2 回答 2

12

如果您的 url (in urls.py) 有任何捕获组,您可以在 url 标记中传递相关参数。

url(r'^set/(?P<the_city>\w+)/$', views.selectCity, {'the_city': 'gye'}, name='ciudad'),

然后在模板中:

<a tabindex="-1" href="{% url ciudad the_city='gye' %}">Guayaquil</a>
于 2012-12-18T17:53:58.893 回答
1

检查捕获的参数。像这样的东西可能会起作用:

url(r'^set/$', views.selectCity, {'the_city': 'gye'}, name='ciudad'),
url(r'^set/(?P<the_city>\w+)/$', views.selectCity, name='ciudad'),
于 2012-12-18T17:52:25.393 回答