Ответы пользователя по тегу Django
  • Как правильно смоделировать таблицу пользователей?

    @bpe
    Сделать одну общую АБСТРАКТНУЮ модель в которой будут все ОБЩИЕ для Мастер и Заказчик поля. Затем наследовать от нее таблицу MasterUser и CustomerUser в которых будут уже собственные поля, те которые нужны для конкретного типа пользователей.
    Для абстрактной модели не забыть указать:
    class Meta:
            abstract = True

    И лучше не надо делать модель с именем User.
    Ответ написан
    Комментировать
  • Django Anonymous access?

    @bpe
    1. Из вопроса не очень понятно, как должна обрабатываться ситуация если анонимный пользователь зашел на страницу с записью на просмотр которой у него нет прав. Стандартный вариант - он видит сообщение: "Данная запись доступна только зарегистрированным пользователям, войдите или зарегистрируйтесь". "войдите" и "зарегистрируйтесь" соответственно ссылки. При article_access = True запись отображается для анонимного или нет? Допустим, что если article_access = True то запись доступна для анонимного пользователя. Тогда в шаблоне:

    {% if user.is_authenticated or article.article_access %}
        <p>{{ article.article_title }}</p>
        <p>{{ article.article_text }}</p>
        ...
    {% else %}
        <p>"Данная запись доступна только зарегистрированным пользователям, <a href="{% url 'customer:login' %}">войдите</a> или
            <a href="{% url 'customer:register' %}">зарегистрируйтесь".</a></p>
    {% endif %}

    2. Избавиться от generic view и сделать FBV:
    if request.user.is_authenticated():
    ...
    else:
    ...


    3. Перекрыть какой то из методов DetailView проверить тот же request.user.is_authenticated() и вернуть нужный Queryset. В этом случае FBV будет компактней и проще.
    Ответ написан
    7 комментариев