Asi*_*nox 3 django django-urls django-comments
即时通讯使用评论系统,现在,我想从网址评论中重新编写细分,并添加一个符号#,我想将页面seccion精确地移动到评论列表到最后一个评论用户 <a name=#{{comment.id}}?> username </a>
我发布评论时使用next来重定向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>
Run Code Online (Sandbox Code Playgroud)
但是在Django Doc中没有任何关于重写或定制器的评论redirect/url
任何的想法?
谢谢
我偶然发现了这一点丑陋.阅读源代码后,我没有看到任何改变这种行为的好方法.默认情况下,您被重定向到模板{{ next }}变量?c=1中的URL,Django会将a附加到URL,其中1是注释的ID.我想要这样做,#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
Run Code Online (Sandbox Code Playgroud)