Ошибка проверки токена CSRF - PullRequest
0 голосов
/ 05 февраля 2020

Я вижу, что этот вопрос задавался много раз, но я не могу определить, что конкретно я делаю неправильно. Может ли кто-нибудь помочь мне определить, что не так? У меня есть токен CSRF, но я чувствую, что, должно быть, что-то не так в представлении?

views.py

    if request.method == "POST":
        form = RegistrationForm(request.POST)


        if form.is_valid():

            user = form.save(commit=False)

            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            user.set_password(password)
            user.save()

            user = authenticate(username=username, password=password)
            auth_login(request, user)

            return render('test.html')


    else:
        form = RegistrationForm()

        return render(request, 'register.html', {'form': form})

регистрация. html

  <form method="POST" class="border border-light p-5">

  {% csrf_token %}

    <p class="h4 mb-4 text-center">Registration</p>

    {{form.username}}

    {{form.email}}

    {{form.password}}

    <button type="submit" class="btn btn-default btn-block my-4" type="submit">Register</button>


  </form>

1 Ответ

1 голос
/ 05 февраля 2020

Использовали ли вы тег CSRF в своем представлении? Вы должны импортировать:

from django.views.decorators.csrf import csrf_exempt

, а затем добавить csrf_excemp перед определением вашей функции следующим образом:

@login_required
@csrf_exempt
def update(request):

Я надеюсь, что это решит вашу проблему

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