我在 django 中做了一个应用程序,我对语言 python 和框架 django 完全陌生。
我的问题是我无法弄清楚如何获取此网址:
project/2/ticket/1
我在project/2
我的模板中获得了一个链接,该链接链接到project/2/ticket/1
. 我得到的错误是NoReverseMatch at /project/1
,我使用的代码是:
网址.py
urlpatterns = patterns('',
# Project urls below
url(r'^project/(?P<project_id>\d+)$', 'project_manager.views.project_list', name='project_list_with_ticket'),
url(r'^project/(?P<project_id>\d+)/ticket/(?P<ticket_id>\d+)$', 'project_manager.views.ticket_list', name='ticket_list'),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
视图.py
def ticket_list(request, ticket_id = None):
if ticket_id:
tickets = get_list_or_404(Ticket.objects.filter(id = ticket_id))
return render(request, 'tickets/details.html', {"tickets" : tickets })
else:
return render(request, 'projects/list.html', {'projects' : projects })
我的模板
{% for ticket in tickets %}
<div class="tickets">
<a href="{% url ticket_list ticket.id %}">{{ ticket }}</a>
</div>
{% endfor %}
编辑—— 它说没有ticket_list,但是有吗?