Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Postman post通过API创建用户会导致CSRF错误-为什么?_Django_Django Rest Framework_Postman - Fatal编程技术网

Django Postman post通过API创建用户会导致CSRF错误-为什么?

Django Postman post通过API创建用户会导致CSRF错误-为什么?,django,django-rest-framework,postman,Django,Django Rest Framework,Postman,我目前正在试用邮递员 我目前有一个基本上通过REST调用创建用户的视图 我用django rest来做这个 class CreateEmployer_CreateAPIView(CreateAPIView): serializer_class = Serializer_CreateEmployer_RX permission_classes = (permissions.AllowAny,) def post(self, request, format=None): user = re

我目前正在试用邮递员

我目前有一个基本上通过REST调用创建用户的视图 我用django rest来做这个

class CreateEmployer_CreateAPIView(CreateAPIView):
serializer_class = Serializer_CreateEmployer_RX
permission_classes = (permissions.AllowAny,)

def post(self, request, format=None):
    user = request.user
    serializer = Serializer_CreateEmployer_RX(data=request.data)
    if serializer.is_valid():
        Savedmodel = serializer.save()
        return Response(serializer.data, status=status.HTTP_201_CREATED)
    return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
这是在url.py中

url(r"^create/$", csrf_exempt(CreateEmployer_CreateAPIView.as_view()),name="Create"),
当我试图通过邮递员调用这个api时,我得到了一个错误

Forbidden (403)
CSRF verification failed. Request aborted.
You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is required for security reasons, to ensure that your browser is not being hijacked by third parties.
我的问题是,为什么我会出现这个错误,我如何解决它?从我所读到的关于CSRF的内容来看,当表单加载到网页中时,一个带有CSRF值的cookie会随表单一起发送,然后在提交表单时,会比较CSRF令牌的值,以确保它是由视图呈现的同一表单发送的。在我的情况下,没有表单,并且此视图上的身份验证是无效的
AllowAny
。这以前也有用,但现在我突然发现了这个错误。我的问题是如何解决这个问题?在这种情况下,由于没有表单,如何获取CSRF令牌值?我看过很多关于这个问题的帖子和《邮递员》,但据我所知,大多数帖子建议在标题中添加一个
X-CSRFToken
。即使我加上这些,我如何得到这些值


你能添加邮差截图吗?是的,我会更新我的answer@JerinPeterGeorge更新了我的回答你在《邮递员》中使用了拦截器吗?尝试从URL中删除
csrf\u export