私の問題に関連する記事がいくつかあります。しかし、どれも次の問題を解決していないようにみえ:Django:reverse()にargs/kwargsが指定されたビューが見つかりません
私はmyappに/ urls.py内のURL定義されています:myappに/ views.pyで
app_name = "myapp"
urlpatterns=[
url(r'^$', views.index, name="index"),
url(r'^adduser/$', views.addUser, name="adduser"),
]
と、対応するビュー:
def index(request, status_msg=None, error_msg=None):
return HttpResponse(render(request, "myapp/index.html",
context={"error_message":error_msg, "status_message":status_msg}))
def addUser(request):
try:
uname=request.POST["user_name"]
except KeyError:
url = reverse("myapp:index", args=(None, "No user name specified."))
return HttpResponseRedirect(url)
# ... adding user to db ...
url = reverse("myapp:index", args=("Added user '%s'"%uname,))
return HttpResponseRedirect(url)
のいずれかをアドユーザー()でリダイレクトから()インデックスに引数を渡すの変形は
Reverse for 'index' with arguments '(None, u'No user name specified.')' not found. 1 pattern(s) tried: [u'myapp/$']
は、私は、D種類のエラーを生成します私がここで間違っていることを得ることはできません。インデックスビューが検出されたものの、認識されていないため、要求を無視することができますか?
argsの代わりにkwargsを使用しても役に立ちません。
どのような提案も高く評価されています。すでにありがとう!
ただし、インデックスURL *には引数はありません*。なぜあなたはいくつかを渡そうとしているのですか? –
(そしてそれがあったとしても、「指定されたユーザー名はありません」は、URLに渡すものではありません。) –
ここでは誤解があるようです。したがって、urlでキャプチャされていなければ、argsやkwargsをビューに渡すことはできません。 – Leolo