Как избежать требуемого входа в систему или защиты, обеспечиваемой промежуточным программным обеспечением в Django? - PullRequest
0 голосов
/ 07 апреля 2020

A Django веб-приложение обычно требует входа в систему, однако есть URL-адрес или представление, для которых не требуется login_required. Как заставить это работать?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Следующее упомянуто Django Документация https://docs.djangoproject.com/en/3.0/ref/csrf/#django .views.decorators.csrf.csrf_exempt , которая выглядит как правильное решение.

Утилиты

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

csrf_exempt(view)

Этот декоратор помечает представление как исключенное из защита обеспечивается промежуточным программным обеспечением. Пример:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    return HttpResponse('Hello world')
0 голосов
/ 07 апреля 2020

re_path (r '^ admin /', admin.site.urls), путь ('about /', views.about, name = "about"),

По умолчанию все URL-адреса администратора вход в систему защищен, и если вы не используете сайт администратора и если вы не используете декоратор login_required в views.py, тогда этот URL не будет требоваться для входа в систему, как и URL-адрес «about /».

...