Установить данные в методе рендеринга после предварительного объявления в Django - PullRequest
0 голосов
/ 30 марта 2019

Я объявил переменную, как указано ниже:

response = render( request, 'authme/login.html', {} )

В какой-то момент мне нужно установить временный cookie и передать значение временного cookie в представлении.

Я попробовал следующие способы установки данных, как указано ниже:

  1. response ['message'] = "Ошибка входа: повторите попытку"
  2. response.message = "ЛогинОшибка: Пожалуйста, попробуйте еще раз "

Может кто-нибудь предложить, как я могу установить часть сообщения, используя переменную" response ", таким же образом, Как мы используем для установки cookie, PFB:

response.set_cookie('message','Login Failed: Please try again')

Так что это эквивалентно этой строке утверждения:

response = render( request, 'authme/login.html', {"message":"Login Failed: Please try again"})

1 Ответ

3 голосов
/ 30 марта 2019

Пожалуйста, обратитесь к Структура сообщений Django , вы можете передавать сообщения из представлений:

messages.error(request, 'Login Failed')
messages.success(request, 'Successfully Logged in.'

И вы можете использовать эти сообщения, используя Jinja2 в своем HTML:

{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...