我有一个简单的视图,允许我在Django模板中添加注释。
if request.method == 'POST':
review_form = ReviewForm(data=request.POST)
if review_form.is_valid():
rating = review_form.cleaned_data['rating']
comment = review_form.cleaned_data['comment']
user_name = review_form.cleaned_data['user_name']
order_code = review_form.cleaned_data['order_code']
review = Review()
review.masseurs = masseur
review.rating = rating
review.comment = comment
review.user_name = user_name
review.order_code = order_code
review.pub_date = datetime.datetime.now()
review.save()
return HttpResponseRedirect(reverse('app:masseur_detail', args=(masseur.id,)))
else:
review_form = ReviewForm()添加注释后,用户将被重定向到基本页面。我想在这里显示一个谢谢和信息,评论已经添加了。如何在我的视图中创建一个元素来检查是否刚刚添加了一个新的注释(在重定向之后)。我试着使用'new_comment = review_form.save (commit = False)‘之类的东西,但是它不能正常工作(或者我做错了什么)。任何帮助都将不胜感激。
发布于 2019-02-12 11:36:11
你可以做这样的事
in views.py
from django.contrib import messages
if request.method == 'POST':
review_form = ReviewForm(data=request.POST)
if review_form.is_valid():
rating = review_form.cleaned_data['rating']
comment = review_form.cleaned_data['comment']
user_name = review_form.cleaned_data['user_name']
order_code = review_form.cleaned_data['order_code']
review = Review()
review.masseurs = masseur
review.rating = rating
review.comment = comment
review.user_name = user_name
review.order_code = order_code
review.pub_date = datetime.datetime.now()
review.save()
messages.success(request, 'Added successfully!')
return HttpResponseRedirect(reverse('app:masseur_detail', args=(masseur.id,)))
else:
review_form = ReviewForm()模板中的添加这一行
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}Important: {% endif %}
{{ message }}
</li>
{% endfor %}
</ul>
{% endif %}希望能帮上忙
https://stackoverflow.com/questions/54648802
复制相似问题