Djangoのコメントは、URLのコメントに記号を追加しますか?
-
12-09-2019 - |
質問
コメントシステムを使用して
イムは、今、私は再書き込みセグメントがURLコメントを形成し、シンボル#を追加したいと思い、私は正確に<a name=#{{comment.id}}?> username </a>
との最後のコメントのユーザーにコメントのリストにページseccionを移動します
イムコメントが投稿された際にUSENをリダイレクトするために、次を使用します:
{% get_comment_form for object as form %}
<form action="{% comment_form_target %}" method="POST">
{{ form }}
<input type="hidden" name="next" value="{{ object.get_absolute_url }}" />
<input type="submit" name="preview" class="submit-post" value="Preview"></td>
</form>
しかし、Djangoのドキュメントには、
書き換えについては何も言っていない、またはコメントリダイレクト/ URLをカスタマイザーいけません任意のアイデア?
おかげ
解決
私は醜さのこの少しに出くわし。ソースコードを読んだ後、私はこの動作をオーバーライドする任意の良い方法を見ていません。デフォルトでは、テンプレートの{{ next }}
変数にURLにリダイレクトされ、Djangoは?c=1
コメントのIDでURLに1
を追加します。私は、ユーザーが、彼らは単に投稿コメントにページを飛び降りているので、これは代わりに#c1
ことがしたかったです。次のように私は、「猿のパッチ適用」を少しでこれをやった。
from django.contrib.comments.views import utils
from django.core import urlresolvers
from django.http import HttpResponseRedirect
def next_redirect(data, default, default_view, **get_kwargs):
next = data.get("next", default)
if next is None:
next = urlresolvers.reverse(default_view)
if get_kwargs:
next += '#c%d' % (get_kwargs['c'],)
return HttpResponseRedirect(next)
# Monkey patch
utils.next_redirect = next_redirect
所属していません StackOverflow