'http:// localhost/entity/id /?overlay = other_id'のようなURLでdjangoアプリケーションを作成しています。 idは、特定のエンティティの主キーであり、overlayは、ディスプレイに重ねられる第2のエンティティのためのオプションのクエリパラメータです。ユーザーは、オーバーレイを介してオブジェクトを表示するときにエンティティを更新することができます。/update/idにPOSTすると、/ entity/idにリダイレクトしたいのですが、リダイレクト時にクエリパラメータが失われるのを避けたいのです。Djangoは、クエリ文字列に依存するURLにreverse()を使用してリダイレクトします。
は例えば、私は私のurl.pyに、次の持っている:更新時にoverlay_idが必要な
...
(r'^update/(?P<id>.+)/(?P<overlay_id>.+)/$', 'update'),
(r'^entity/(?P<id>.+)/$', 'view'),
...
ので、それはURLではなく、クエリパラメータの一部です。 djangoビューでは、POSTが成功した後にリダイレクトし、逆順()を使用してPythonコードのURLを参照しないようにしたいと考えています。一般的な考え方は次のとおりです。
return HttpResponseRedirect(
reverse('views.view',
kwargs={
'id': id,
},
)
)
しかし、逆にクエリパラメータを渡すにはどうすればよいですか。
おかげで、 クレイグ
PYあなたはとてもように逆に使用することができますうん、私は歯を磨く間にこれを実現しました。逆に、文字列を返すと宣言されていれば、これは明らかだったので、時にはPythonに型シグニチャがあることを望みます。ありがとう。 –
私は通常、次の朝にシャワーでそれらのああの瞬間を取得します。 pdb(またはipdb)は、タイプシグネチャを調べる場合に役立ちます。 'import pdb;を投げてみてください。 pdb.set_trace() 'をあなたのコードに書き込んでください。 http://docs.python.org/library/pdb.html – istruble