我有一个带有optionnal参数的网址:
urlpatterns = patterns(
'my_app.views',
url('schedule/(?P<calendar_id>\d+)/(?:month(?P<relative_month>[\+,\-]\d)/)$',
'attribute_event',name='attribute_event')
)
在我的模板中,我有一个链接:
{% url attribute_event calendar.id %}
但我有一个错误,说这些arg不能反转url。我必须使用2个url正则表达式和url名称吗?!
答案 0 :(得分:6)
只有在将其拆分为两个网址时才有可能:
urlpatterns = patterns('my_app.views',
url('schedule/(?P<calendar_id>\d+)/month(?P<relative_month>[\+,\-]\d)/$',
'attribute_event', name='attribute_event_relative'),
url('schedule/(?P<calendar_id>\d+)/)$',
'attribute_event', name='attribute_event'),
)
模板中的:
{% url attribute_event calendar.id %}
or
{% url attribute_event_relative calendar.id '+1' %}
你的观点:
def attribute_event(request, calendar_id, relative_month=None):
pass
答案 1 :(得分:2)