当前位置: 首页 > news >正文

网站如何投放广告临沂建设局官方网站

网站如何投放广告,临沂建设局官方网站,阜阳网页定制,dz系统怎么做地方网站vue环境是127.0.0.1:8080,django环境是127.0.0.1:8000 要解决url相对路径和Axios跨域权限问题。 注意:程序发起了一个 POST 请求,但请求的 URL 没有以斜杠结尾。Django 默认设置是无法执行重定向到带斜杠 URL的。例如:url http:/…

vue环境是127.0.0.1:8080,django环境是127.0.0.1:8000 要解决url相对路径和Axios跨域权限问题。

注意:程序发起了一个 POST 请求,但请求的 URL 没有以斜杠结尾。Django 默认设置是无法执行重定向到带斜杠 URL的。例如:url = 'http://127.0.0.1:8000/login/' 成功,但url = 'http://127.0.0.1:8000/login'请求会失败。

虽然可以通过设置 APPEND_SLASHFalse忽略这种差异,但请注意,这样做可能会影响其他部分的 URL 处理,因此请谨慎使用。

另:如果要解决跨域cookies的问题,还要配置(参考:解决跨域设置cookie问题)

【以下这些配置都是为了联调,上生产环境时应该去掉】

前端配置 (vue.config.js 和 main.js)

在前端项目中,您需要修改 vue.config.js 文件,将 proxy 属性设置为 { target: "http://localhost:8000", changeOrigin: true }。这样,当前端向后端发送请求时,将会被代理到 http://localhost:8000 端口。

  devServer: {host: '127.0.0.1',port: 8080,proxy: {'/api': {                              //对路径是'/api'开头的请求进行代理target: 'http://127.0.0.1:8000',   // 后台接口域名ws: false,                         //如果要代理 websockets,配置这个参数// secure: false,                  // 如果是https接口,需要配置这个参数changeOrigin: true,  //是否跨域pathRewrite:{			                //如果联调的后端url也是/api开头,pathRewrite这段可以删掉。(一般是因为main.js中增加了axios.defaults.baseURL = '/api' 这行才需要pathRewrite)'^/api': '/'}}}}

 main.js配置BaseUrl

import Vue from 'vue'
import App from './App'
import Axios from 'axios'Vue.prototype.$axios = Axios
Axios.defaults.baseURL = '/api'Vue.config.productionTip = false

 关键代码是:Axios.defaults.baseURL = '/api',这样每次发送请求都会带一个/api的前缀。

后端配置 (安装插件 django-cors-headers )

 本不想额外装这个插件,但百度查到的多种解决方案,实践下来只有安装插件的方案配置成功。(如果不安装插件,需要逐个处理 Preflight 请求等问题 def xxx(request): if request.method == 'OPTIONS':)

step1:

pip install django-cors-headers

step2:settings.py中配置三项

INSTALLED_APPS  =  [ ... ... 'corsheaders' ,
]MIDDLEWARE  =  ['corsheaders.middleware.CorsMiddleware' ,... 'django.middleware.common.CommonMiddleware' ,# 这行原配置已经有,在这里仅是提示Corsmidlware要放在这句之前... 
]# 注意:应将Corsmidlware放置在尽可能高的位置,尤其是要放在能够生成响应的中间件之前,比如Django的CommonMiddleware或Whitenoise middleware。如果不是放在这些响应中间件之前,它可能无法将CORS头添加到这些响应中。
#另外,如果您使用CORS_REPLACE_HTTPS_REFERER,它应该放在Django的CsrfViewMiddleware之前。CORS_ALLOW_ALL_ORIGINS = True  # 注意,这里将CORS_ALLOW_ALL_ORIGINS设置为True是为了允许所有的跨域请求,这在开发阶段可能很方便,但在生产环境中应该谨慎使用。

---------------

前端运行在localhost:8080上,后端运行在 localhost:8000 上,虽然端口不同,但在同一个主机(localhost)上,对于cookies,浏览器通常会将它们视为相同的源(Same Origin),不需要显式设置 cookieDomainRewrite。
 

但若涉不同主机cookie,还需配置:

devServer: {proxy: {'/api': {target: 'http://localhost:8000',ws: true,changeOrigin: true,cookieDomainRewrite: 'localhost',}}}

 官方文档见 https://github.com/chimurai/http-proxy-middleware

翻译 https://blog.csdn.net/xmloveth/article/details/56847456

如果生产环境也涉及跨域,则需要 axios.defaults.withCredentials = true

后端

# 改为True即为可跨域设置Cookie
CORS_ALLOW_CREDENTIALS = True# 这里有一个需要注意的点
# chrome升级到80版本之后,cookie的SameSite属性默认值由None变为Lax
# 也就是说允许同站点跨域 不同站点需要修改配置为 None(需要将Secure设置为True)
# 需要前端与后端部署在统一服务器下才可进行跨域cookie设置# 总结:需要设置 samesite = none、secure = True(代表安全环境 需要 localhost 或 HTTPS)才可跨站点设置cookie

后端

http://www.yayakq.cn/news/380809/

相关文章:

  • 手机网站产品展示模板wordpress用户文档
  • 网站建设没有图片淮安做网站.哪家网络公司好?
  • 网站权重转移做排名网站建设优化兼职在家
  • 郑州网站建设喝彩科技网络水果有哪些网站可以做
  • 建设旅游网站数据库设计企业融资风险及其防范措施
  • 贵州省建设厅官方网站安防网站源码
  • 延安做网站的公司wordpress模版教程
  • 长沙做医院的网站建设杭州网站设计上市公司
  • 做网站外国的服务器冒用网站备案号建设网站
  • 买个域名自己做网站小程序如何开发制作
  • 网站系统评测要怎么做呢网站建设课程设计目的和内容
  • 网站建设的网络番禺网站建设报价
  • 公众号里的网站怎么做的广州住房与建设网站
  • 可以注销的网站西安有什么好玩的地方景点推荐
  • com网站建设手机优化大师官网
  • php源码建站 一品资源网站推广岗位职责
  • 免费网站制作申请深圳做网站维护的公司
  • 潜江市住房城乡建设厅网站南阳建网站
  • 想成为网站设计师要怎么做北京seo运营推广
  • wordpress调用分类文章东莞优化怎么做seo
  • 重庆微信网站建设报价全平台内容生成系统
  • 昆明做网站建设的公司哪家好重庆互联网
  • 做wap网站山东建设机械协会官方网站
  • 如何建设网站教程设计师每天都上的网站
  • 网站开发使用天气api我的世界做皮肤壁纸网站
  • 河南省住建厅官网店铺seo是什么意思
  • 生态旅游网站的建设的内容中装建设集团
  • 网格系统网站设计师找素材的网站
  • 网站结构怎么分析wordpress源代码在哪里
  • php语言做的大网站wordpress页脚小工具