0

このNoReverseMatchエラーが発生し続けます。私のエラーは<form action>タグにあります。<a href>しかし、フォーマットをタグ内のようなものに変更すれば、すべて問題ありません。私はDjangoを初めて使用するので、ガイドしてください。

<html>
<head><title>Feedbacks</title></head>

<body>
    {% if store_list %}
        <ul>
            {% for store in store_list %}
                <li><a href="/feedbacks/{{ store.store_name }}/add/">{{ store.store_name }}</a></li>
                <form action="{% url 'view' store.store_name %}" method="post">
                    <input type="submit" value="Add" text="Add" />
                </form>
            {% endfor %}
        </ul>
    {% else %}
        <p>List is empty.</p>
    {% endif %}
</body>
</html>

私のurls.py

from django.conf.urls import patterns, url
from feedback import views

urlpatterns = patterns('',
    #/feedbacks
    url(r'^$', views.feedbacks, name="feedbacks"),
    # /feedbacks/Kenny Rogers/add/
    url(r'^(?P<store_name>.+)/add/$', views.add, name="add"),

    url(r'^(?P<store_name>.+)/view/$', views.view, name="view"),
)

私のviews.py

from django.http import HttpResponse
from feedback.models import Store
from django.template import Context, loader
from django.shortcuts import render

def feedbacks(request):
    store_list = Store.objects.all()
    context = {"store_list" : store_list}
    return render(request, "feedback/feedbacks.html", context)

def add(request, store_name):
    return HttpResponse("I'm at the add page of %s. " % store_name)

def view(request, store_name):
    return HttpResponse("I'm at the view page of %s. " % store_name)
4

2 に答える 2

1
  1. {% load url %}またはがありません{% load url from future %}
  2. Raunak Agarwalは、「追加」の代わりに「表示」機能を使用しようとしていることを正しく強調しました。ただし、どちらの場合も同じパラメーターが渡されるため、機能します。

Djangoのドキュメントでそれについて見つけることができます。

于 2012-11-27T03:49:27.287 に答える
0

引用符はdjango1.5から許可されています。以下のバージョンを使用している場合は、削除してみてください。

<form action="{% url add store.store_name %}" method="post">

また、エラーはそれに関連していませんが、csrfトークンがありません。

于 2012-11-27T03:38:26.780 に答える