我怎样才能摆脱被用户指向“谢谢你 对于你的评论“在Django网站评论后的页面?我希望用户成为 重定向到他们评论的同一页面。我正在使用Django 评价。
我尝试添加:
<input type=”hidden” name=”next” value=”"{% url
django.contrib.comments.views.comments.comment_done %}" />
但它不起作用。以下是我的评论/ form.html
中的代码 {% load comments %}
{% get_comment_count for sol as comment_count %}
{% get_comment_list for sol as comment_list %}
{% get_comment_form for sol as form %}
{% if user.is_authenticated %}
<form action="{% comment_form_target %}" method="post">
{% csrf_token %}
{% if next %}<input type="hidden" name="next" value="{% url
django.contrib.comments.views.comments.comment_done %}" />{% endif %}
{% for field in form %}
{% if field.is_hidden %}
{{ field }}
{% else %}
{% if field.name != "name" and field.name != "email"
and field.name != "url" %}
{% if field.errors %}{{ field.errors }}{% endif %}
{{ field }}
{% endif %}
{% endif %}
{% endfor %}
<input class="submit-post" name="post" type="submit" value="Comment" />
</form>
{% else %}
I'm sorry, but you must be <a href="javascript:alert('send to
login page')">logged in</a> to submit comments.
{% endif %}
答案 0 :(得分:3)
首先让我们回顾一下你的代码:
<input type=”hidden” name=”next” value=”"{% url
django.contrib.comments.views.comments.comment_done %}" />
两个双引号:值= “” {%url
网址为comment_done :所以这会重定向到“感谢您的评论页面”,您要避免
使用网址名称代替模块名称:{% url comments-comment-done %}
而不是{% url django.contrib.comments.views.comments.comment_done %}
相反,您可以将评论海报重定向到他评论的对象的绝对网址:
<input type="hidden" name="next" value="{{ form.instance.content_object.get_absolute_url }}" />
这假设您的模型定义了标准的get_absolute_url()方法。
甚至,您可以将用户重定向到他所在的同一页面:
<input type="hidden" name="next" value="{{ request.path }}" />
他访问的上一页:
<input type="hidden" name="next" value="{{ request.META.HTTP_REFERER }}" />