Как установить контроль доступа или привилегии для моделей и представлений Django? - PullRequest
0 голосов
/ 12 декабря 2018

Я создаю модель для веб-сайта / внешнего интерфейса.У меня есть 3 типа пользователей.только 1 тип, я хочу видеть модель внешнего интерфейса.Как создать динамический контроль доступа для интерфейсов Django.пожалуйста, дайте решение или предложите плагин.Спасибо за решение заранее.

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете сделать это на стороне шаблона или представления.

Предполагая, что предпочитаемый вами тип пользователя - 'student', вы делаете это:

Шаблон

{% if user.is_authenticated and user.is_student %}
*content*
{% endif %}

Или это:

Просмотры

Предполагая, что вы хотите ограничить детали сообщения в блоге только студентами, вам нужно создатьусловие сразу после определения функции представления 'post_detail_view'.

def post_detail_view(request):
    if not request.user.is_student:
        **do something (eg. raise 404 or httpresponse or redirect)**
    **code for this view goes here**

Объявление ограничения в представлении позволяет вам делать больше, чем просто ограничивать содержимое.Вы можете вызвать ошибку 404, перенаправить неавторизованного пользователя и многое другое.Шаблонное решение просто позволяет вам ограничить содержимое.

Надеюсь, это решит вашу проблему.

...