I am using Django REST framework, with Simple JWT. I am trying to create a user registration page. Currently, I am getting this error
Forbidden (403) CSRF verification failed. Request aborted.
Reason given for failure: CSRF token missing or incorrect.
Under settings.py, I have added this:
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES' : ('rest_framework.permissions.IsAuthenticated',),
'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_simplejwt.authentication.JWTAuthentication',),
}
My project urls folder:
urlpatterns = [
path('admin/', admin.site.urls),
path("", include("my_api.urls")),
path('api-auth/', include('rest_framework.urls')),
path('api/token', TokenObtainPairView.as_view()),
path('api/token/refresh', TokenRefreshView.as_view()),
]
And this is my app's view for my registration endpoint.
def register(request):
if request.method == "POST":
email = request.POST["email"]
# Ensure password matches confirmation
password = request.POST["password"]
confirmation = request.POST["confirmation"]
if password != confirmation:
return render(request, "my_api/register.html", {
"message": "Passwords must match."
})
# Attempt to create new user
try:
# Creates a hashed password.
#password = make_password(password)
user = User.objects.create_user(username=email, email=email, password=password)
user.save()
except IntegrityError as e:
print(e)
return render(request, "my_api/register.html", {
"message": "Email address already taken."
})
login(request, user)
return HttpResponse("Successfully created account.")
else:
return render(request, "my_api/register.html")

{% csrf_token %}docs.djangoproject.com/en/3.1/ref/csrf