Информация из шаблона после перенаправления, Django - Python - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть простое представление, которое позволяет мне добавлять комментарии в моем шаблоне 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)', но это не работает должным образом (или я делаю что-то не так).Любая помощь будет оценена.

1 Ответ

0 голосов
/ 12 февраля 2019

Вы можете сделать что-то вроде этого

в 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 %}

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...