django コメントの奇妙なプロパティに興味がありました。コメント投稿が発生した後 (/comments/post/ で)、django によって ?c="comment_pk" にリダイレクトされます。django のコメント lib から:
"""
Handle the "where should I go next?" part of comment views.
The next value could be a kwarg to the function (``default``), or a
``?next=...`` GET arg, or the URL of a given view (``default_view``). See
the view modules for examples.
Returns an ``HttpResponseRedirect``.
"""
next = data.get("next", default)
if next is None:
next = urlresolvers.reverse(default_view)
if get_kwargs:
if '#' in next:
tmp = next.rsplit('#', 1)
next = tmp[0]
anchor = '#' + tmp[1]
else:
anchor = ''
joiner = ('?' in next) and '&' or '?'
next += joiner + urllib.urlencode(get_kwargs) + anchor
return HttpResponseRedirect(next)
django の作成者がなぜこれを採用することにしたのか、私はただ興味がありました。同じページにリダイレクトするだけで何が問題なのですか? コメント pk 引数は本当に必要ですか? 私の見解ではそうではありません。
また、httpresponse を '' 空の文字列の値に変更しようとすると、 initが2 つのパラメーター エラーを予期しているため、変更できませんでした。この ?c=pk が本当に必要ない場合、どうすればこの自動リダイレクト パラメータを取り除くことができますか?
ありがとう!