2

逆引きを使用してdjango URLに追加のオプションを渡したいのですが、それらの引数をURLに表示したくありません

以下のコードを試してみましたが、運が悪く、NoReverseMatch Exception がスローされました。

urls.py

urlpatterns = patterns('',
    url(r'^foo-direct/', 'myapp.views.someview', {'wo_id': 1}, name='foo-direct'),
)

ビュー.py

return HttpResponseRedirect(reverse('foo-direct', kwargs={'wo_id':2}))

私が何か間違ったことをしているなら、提案してください。

アップデート

browser(url) にパラメーターを表示せずに達成するにはどうすればよいですか?

私のビュー関数は複数のパラメーターを受け入れ、これらの複数のパラメーターを渡したいので、URL にすべてのパラメーターを表示したくありません

4

2 に答える 2

0

逆関数からkwargsパラメーターを削除するだけです-

return HttpResponseRedirect(reverse('foo-direct')

アップデート

URLにwo_idを含めない限り、ダイナミックでリバースを使用することはできません。wo_id逆関数は、URL設定内のすべてのURLを調べます。、、に一致しargskwargsに一致するURLを検索します。一致するものが見つかると、対応する関数(ビュー)を返します。nameargskwargsnamereverse

URLにwo_idを含めたくない理由がわからないため、提案を行うのは困難ですが、URLの説明を維持しようとしている場合は、IDの代わりにスラッグフィールドを使用することを検討できます。 。

于 2013-03-04T08:52:49.690 に答える
-1

これは意味がありません。URL を介さずに動的引数をビューに渡す方法はありません。どうやってそこにたどり着くのでしょうか?ユーザーが実際にその URL にアクセスしたとき、Django はどのパラメーターを使用すればよいかをどのように知るのでしょうか?

于 2013-03-04T08:54:27.120 に答える