Как я могу ограничить шаблон Django для определенных категорий пользователей? - PullRequest
0 голосов
/ 08 июня 2019

Я создаю сайт Django, где пользователь может зарегистрироваться и заняться чем-то другим.После регистрации электронное письмо должно быть подтверждено.

Вот как подтверждается пользователь: в моей базе данных я добавил таблицу с именем account_emailaddress.Столбец verified в этой таблице даст 0, когда адрес электронной почты не подтвержден, и 1, когда он подтвержден.

Теперь у меня есть шаблон, этот шаблон должен выдать ошибкукогда адрес электронной почты равен 0.

Это вообще возможно?Я не знаю, где поставить мои ноги, чтобы сделать это, так может кто-нибудь подсказать мне подход, чтобы сделать это?Я не использую пользовательскую модель, отредактированную мной, но модель пользователя Django.

Вот как выглядит шаблон:

Я предполагаю, что мне нужно отсортировать это в моемфайла шаблона, добавив оператор if, как показано ниже:

{% block content %}
{% if email_is_confirmed %}
<style>

</style>

<body>

<p> CONFIRMED </p>

<div> <p>Here goes a bunch of features</p> </div>       



</body>

{% else %}

<p> Your email is not confirmed </p>
{% endif %}
{% endblock %}

1 Ответ

1 голос
/ 08 июня 2019

Вы не говорите, как ваша таблица account_emailaddress связана с вашим пользователем, имеет ли она внешний ключ к таблице пользователя или столбец адреса электронной почты. Я предполагаю, что это один к одному, связанный с пользователем. В этом случае в шаблоне вы можете получить доступ к зарегистрированному пользовательскому объекту как user и получить доступ к связанной таблице, как при любом поиске в Django, например, user.account_emailaddress.verified (или что вы установили для related_name). В шаблоне это будет:

{% if user.account_emailaddress.verified %}

Вы также можете исследовать такие пакеты, как django-verified-email-field или django-user-accounts.

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