【发布时间】:2013-06-09 12:24:40
【问题描述】:
我在 URLconf 中有以下 URL:
url(r'^events(/((?P<day>\d{2})(?P<month>\d{2})(?P<year>\d{4}))?/(?P<company_uuid>[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})?)?$',
'events',
name='events'),
和views.py:
@login_required
def events(request, day=None, month=None, year=None, company_uuid=None):
today = now()
if company_uuid:
return HttpResponse(company_uuid)
day、month、year 和 company_uuid 是可选参数。 所以,我可以导航到
- /事件
- /events/13062013
- /events/13062013/28b68080-d336-11e2-b53f-001e681fda9d
但是在模板的某个地方,我想使用反向 url 并建立链接,例如:
<a class="btn" href="{% url 'events' company_uuid=company.uuid %}">Show all company events</a>
显示所有公司活动而不指定日期。
我得到的只是错误:
NoReverseMatch at /companies
Reverse for 'events' with arguments '()' and keyword arguments '{u'company_uuid': u'28b68080-d336-11e2-b53f-001e681fda9d'}' not found.
我该如何解决?
【问题讨论】:
-
由于您的网址并非旨在处理类似于
events/companyuid/的网址,因为它也依赖于日期,因此/13062013/部分。重新设计您的 URL 模式将使其工作。
标签: django django-templates django-urls