【发布时间】:2014-03-09 19:22:56
【问题描述】:
假设我有这些 urlpatterns:
url(r'^area/(?P<area>[\w-]+)/?$', views.IndexView.as_view(), name="index"),
url(r'^$', views.IndexView.as_view(), name="index"),
如何使用模板标签url来应对没有if else的可选area参数
我尝试了以下方法:
{% url 'index' area=area %}
问题是:
- 如果模板上下文中不存在区域,我会得到反向未找到。
- 如果我将区域设置为
None,那么 url 将变为/area/None
【问题讨论】:
-
我认为你做不到。如果提供了
area,它会尝试匹配第一个url。如果不是,则匹配第二个。如果你想匹配第二个,你不能为area提供任何东西。