django解决跨域问题的方法

  介绍

小编给大家分享一下django解决跨域问题的方法,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

django解决跨域问题,具体如下

<强> 1。安装django-cors-headers

pip3  install  django-cors-headers

<强> 2。配置设置。py文件

INSTALLED_APPS =, (   ,,,…   ,,,& # 39;corsheaders& # 39;   ,,,…   ,)      MIDDLEWARE_CLASSES =, (   ,,,…   ,,,& # 39;corsheaders.middleware.CorsMiddleware& # 39;   ,,,& # 39;django.middleware.common.CommonMiddleware& # 39;,, #,注意顺序   ,,,…   )   #跨域增加忽略   CORS_ALLOW_CREDENTIALS =,真的   CORS_ORIGIN_ALLOW_ALL =,真的   CORS_ORIGIN_WHITELIST =, (   ,,,& # 39;* & # 39;   )      CORS_ALLOW_METHODS =, (   ,,,& # 39;删除# 39;   ,,,& # 39;得到# 39;   ,,,& # 39;选项# 39;   ,,,& # 39;补丁# 39;   ,,,& # 39;文章# 39;   ,,,& # 39;把# 39;   ,,,& # 39;视图# 39;   )      CORS_ALLOW_HEADERS =, (   ,,,& # 39;xmlhttprequest # 39;   ,,,& # 39;X_FILENAME& # 39;   ,,,& # 39;accept-encoding& # 39;   ,,,& # 39;授权# 39;   ,,,& # 39;内容类型# 39;   ,,,& # 39;dnt # 39;   ,,,& # 39;起源# 39;   ,,,& # 39;用户代理# 39;   ,,,& # 39;x-csrftoken& # 39;   ,,,& # 39;x-requested-with& # 39;   ,,,& # 39;编译指示# 39;   )

其他解决方案

<强> 1。使用JSONP

使用Ajax获取json数据时,存在跨域的限制,不过,在Web页面上调用js脚本的脚本文件时却不受跨域的影响,JSONP就是利用这个来实现跨域的传输。因此,我们需要将Ajax调用中的数据类型从json改为JSONP(相应的API也需要支持JSONP)格式只
JSONP只能用于得到请求。

<强> 2。直接修改Django中的views.py文件

修改views.py中对应的API的实现函数,允许其他域通过Ajax请求数据:,

def  myview (_request):,   时间=response  HttpResponse (json.dumps({“关键”:,“价值”,,“key2”:,“价值”})),   反应(“Access-Control-Allow-Origin”),=,“*”,   反应(“Access-Control-Allow-Methods”),=,”文章,,,,选项”,   反应(“Access-Control-Max-Age”),=,“1000”,   反应(“Access-Control-Allow-Headers”),=,“*”,   return 响应

看完了这篇文章,相信你对django解决跨域问题的方法有了一定的了解,想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

django解决跨域问题的方法