Добавление id = "" в шаблоне в 'HttpResponseRedirect (reverse (' name_view '))'.Джанго - PullRequest
0 голосов
/ 20 марта 2019

Могу ли я добавить идентификатор в мой метод 'HttpResponseRedirect (reverse (' name_view '))'? У меня есть простая форма, пользователь может увидеть сообщение («! Все хорошо! :).») После его отправки. Но это в нижней части страницы, и пользователь перенаправляется в верхнюю часть страницы. Могу ли я сделать перенаправление вниз страницы (после сохранения формы)? Если так, то как этого добиться. Любая помощь будет оценена.

views.py

if request.method == 'POST':
    contact_form = ContactForm(request.POST)
    if contact_form.is_valid():
        contact_form.save()
        messages.success(request, '!All is good! :).')
        return HttpResponseRedirect(reverse('app:home'))

else:
    contact_form = ContactForm()

В моем случае я ищу что-то вроде:

return HttpResponseRedirect(reverse('app:home#message_sending_section'))

home.html

<section class="module divider-top" id="message_sending_section">
[...]
                        {% if messages %}
                        <div class="alert alert-success alert-dismissible fade show" role="alert">
                            {% for message in messages %}
                            {% if message.tags %}
                            <span class="alert-inner--icon"><i class="fas fa-check"></i></span>
                            <span class="alert-inner--text"></strong>{{ message.tags }}</strong></span>
                            <button type="button" class="close" data-dismiss="alert" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                            </button>
                            {% endif %}
                                {% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}Important: {% endif %}
                                {{ message }}
                            {% endfor %}
                        </div>
                        {% endif %}
[...]
</section>

1 Ответ

2 голосов
/ 20 марта 2019

Якорь не является частью шаблона URL, который является аргументом для reverse, но добавляется к сгенерированному URL, который является результатом этого вызова. Итак:

return HttpResponseRedirect("{}#message_sending_section".format(reverse('app:home')))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...