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 %}

urls.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は1つの変数(プロジェクトID)のみを受け入れます。そのビューで2つの変数-project.idと。を使用してリバースを呼び出していますticket.id

ビューのURLは、を受け入れるようにすでに設定されているため、ticket_idビューを変更して、を受け入れるようにする必要がありますticket_id

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