私はPythonとDjangoに非常に慣れていません。私はDjango - 1.4.5を使用しています。フォームからユーザー入力を取得しようとしています。次のようなユーザー入力でURLをリダイレクトします
Httpresponseredirect('abc/xyz/%s' %variable)
ブラウザーで応答がリダイレクトされていることを確認できましたが、404 エラーがスローされます。urls.pyにもurl
定義があります。
urls.py
urlpatterns = pattern('',
url (r'abc/xyz/(?P<variable>)/pqr' , 'view_name')
)
それに光を当ててください。
reverse
さらにデバッグすると、問題は引数を関数に渡すことにあることがわかりました。引数なしで静的ページを渡すと、正しいビューにリダイレクトされます。しかし、引数を指定してリダイレクトすると、NoreverseMatch
エラーが発生します。このようにリダイレクトしています
return HttpResponseRedirect(reverse('view_name', kwargs= {'group':'group'}))
urls.pyでは、次のように定義されています。
url (r'app/$' , 'app.view.app') ,
url (r'^my/first/(?P<group>)/$ , 'app.webapi.json.list_record', name ='view_name;),
list_record
app.webapi.json.pyの関数です。
さらに詳細が必要な場合はお知らせください。