0

我正在开发一个项目管理应用程序。一个项目可以有票证,这些票证与项目相关联,并且在项目下方的模板中呈现,以及项目的票证。

但是,下面的代码出现错误,我无法弄清楚它的含义以及如何解决它:

Exception Value:    show_ticket() got an unexpected keyword argument 'ticket_id'
Exception Location: /Library/Python/2.7/site-packages/Django-1.4.5-py2.7.egg/django/contrib/auth/decorators.py in _wrapped_view, line 20

有什么问题?

项目模板:

{% for ticket in tickets %}
    <span>{{ ticket }}</span>
    <a href="{% url show_ticket project.id ticket.id %}">Show ticket</a><br/>
{% endfor %}

网址.py:

url(r'^project/(?P<project_id>\d+)/ticket/(?P<ticket_id>\d+)/$', 'project_app.views.show_ticket', name="show_ticket"),

看法:

@login_required
def show_ticket(request, project_id):
    ticket = get_object_or_404(Ticket, pk = ticket_id)

    return render(request, 'projects/show_ticket.html', {"ticket" : ticket})
4

1 回答 1

3

您的show_ticket视图只接受一个变量 - 项目 ID。您正在使用两个变量调用该视图的反向 -project.idticket.id.

您的视图 URL 已设置为接受ticket_id,因此您只需更改视图以接受ticket_id

def show_ticket(request, project_id, ticket_id):
    ....
于 2013-03-01T21:17:08.867 回答