当前位置: 首页 > 网络应用技术

Django如何代表两个VUE项目(如何部署由Django和Vue Front和Back -End分隔的项目

时间:2023-03-05 18:52:34 网络应用技术

  本文的首席执行官注释将介绍Django如何代表两个VUE项目以及如何部署Django和Vue Front -End -End分隔的项目的相关内容。我希望这对每个人都会有所帮助。让我们来看看。

  本文目录清单:

  1. VUE和DJANGO的集成2. DJANGO+VUE FRONT -END分离项目部署项目部署3. NGINX部署多个VUE项目端口代理配置问题4. VUE FRONT -END设置交叉 - 域多代理5,一个服务器,一台服务器,一台服务域名,如何同时从相同的timultiple Vue项目开始?6。Django和Vue首次与Django2项目首次联系

  经过

  `django-addmin startproject mysite'

  命令创建

  创建后端服务应用程序

  在CD Mysite目录之后,Django-Admin StartApp后端

  创建一个VUE项目

  vue创建前端

  当前版本:Django:2.1.7;Python:3.6.3;Vue-CLI:3.5.1;

  后端使用的DRF是UWSGI+NGINX

  输入服务器项目文件目录,我的django项目放置在“/usr/myprojects/” directory.create uwsgi.ini文件中的uwsgi.ini文件中。

  测试效果命令:

  如果您访问:xxx.xxx.xxx.xx:8000成功,那么uwsgi.ini配置成功

  我的nginx.conf位置是“ /etc/nginx/nginx.conf”

  配置文件如下:

  1.第一行

  主要是给予NGINX加权。部署历史记录路线后,将删除地址背后的“#”号码。包装部署后,将会有一个错误。

  2.如果显示配置,则有两个服务器部署了前端服务和后端服务。值得注意的是,两台服务器使用同一服务器,这与侦听不同。

  3. VUE部署需要注意反向代理地址:

  和随后的端口问题

  4.后端服务器需要注意该位置的UWSGI_Pass后面的最终口号。

  5.交叉 - 域问题。如果我需要在自己的在线上找到配置,我没有遇到它,因为我在Django的设置中配置了交叉域。

  6. Django Suit背景管理样式已经崩溃,需要更改,但是可以正常访问API。

  7.我开始在后台收听端口8008,并在前端监视端口80中听,以便前端显示出良好的外观。尽管可以正常访问背景API,但VUE的本地开发环境也可以正常运行,并且文本和图片资源都正常显示。结果,它无法显示。对于地图,我选择了前面- 末端监视器以收听端口8008,后端监视80,并且显示后显示正常。原因尚不清楚////////// erly谈论它。

  8.不要问我为什么我将前端和后端分开并在服务器上部署?糟糕,只是测试,这不是必需的

  9.本文仅适合入门

  关于Django的后台管理员(西装)修改(参考:Django中文网站:)

  在环境中输入项目目录,您需要收集CSS样式并在终端中输入命令:

  接下来,您可以找到静态文件包含CSS文件。此时,该网站已打开,样式显示正常

  UWSGI启动xxx.ini后,将在同一目录中生成xxx.pid文件。UWSGI主要过程的过程数中只有一行内容。

  关于UWSGI,输入同一目录

  课

  如果您无法获得环境,请指定环境

  另外:请记住重新启动UWSGI并重新启动NGINX。

  暴力删除:Fuser -K 80/TCP

  Netstat -aptn命令行,检查所有开放端口号码

  netstat -tlp |GREP 80查看是否使用了特定端口

  PS -EF |grep uwsgi查看是否存在UWSGI端口

  1.更改VUE前端项目以播放根路径

  改成

  在上述三个类型上方运行包装命令后,DIST软件包分别对应于根路径的名称。

  2.将第一步中获得的三个项目上传到远程服务NGINX下的HTML文件夹,如下所示:

  更改nginx.conf配置如下

  更改为不同的名称“应该完成”并直接包装。

  你可以自己尝试)

  (访问路径后最好添加一个'/')

  更改配置后,重新启动项目

  以供参考

  当项目开发时,它通常会遇到多个服务请求地址域名或后端提供的终点数字。目前,需要多个代理跨域代理才能设置前端。

  1:配置环境变量。ENV。开发

  2:在根目录中配置vue.config.js

  PS:在最后一个数组中注意VUE_APP_BASE_API。如果您将vue_app_base_api设置为“像我”,这样就不会被代理的虚拟路径所覆盖!

  3:在项目src/api/proxy.js的文件管理请求地址的文件(proxy.js是我的休闲名称?)

  打开代理

  proxy_api是步骤1中定义的虚拟路径:您在1之前:

  vue_app_base_api_proxy ='/proxy-api'

  const url =(path)=(proxy_api +路径)路径处理函数,参数为'/xx/xxx/fetch/list',return(proxy_api + path)

  需要注意的是,当我配置环境变量.env.开发时,基本API设置为空:

  因此,您无需在src/utils/request.js中拦截代理的请求。

  如果为vue_app_base_api设置虚拟路径,则需要在src/utils/request.js上拦截此虚拟路径配置。这比不建议的更麻烦。

  在这一点上,已经设置了跨域多代理。在本文中,基本代理的两个代理vue_app_base_api,一个附加的代理vue_app_base_api_proxy,当请求与请求匹配到'/proxy-api'??

  您可以将多个域名解析到此服务器IP

  然后在服务器端配置项目

  因为我想改变一些以前的需求,所以主管要求我学习Vue。花了很长时间才进入门,我不得不更改成熟的项目。这个困难仍然很困难。

  那些熟悉网站构建的人应该知道Vue是一个出色的前端框架,而Django是Python语言系统下的后端框架。尽管他们俩都可以编写一个完整的网站,但它们具有自己的焦点。速度很快,但是模板引擎附带的速度相对较弱,VUE是由数据驱动和组成的意识形态构建的。它是渲染页面中的第一个类。因此,随着Python的开发,可以开发网站。

  不同的框架如何组合?这导致了前端和后端分离的想法。后端仅提供接口,API和前端来调用这些接口以获取数据,然后将其渲染到HTML模板模板。

  在开发不同的框架时,最大的问题是交叉域。由于不同的框架,它们启用的端口号不同,即不同的数据源。由于安全性,无法直接访问它们。它是Django配置文件中的跨域许可证。使用Django的第三方软件包Django-Cors-neaders解决跨域问题

  在这种情况下,我们可以使通过VUE启动方法进行调试更加方便

  最终如何集成在一起?我们知道Django是通过指定模板和静态文件的路径来渲染的,因此我们需要打包VUE文件以生成index homepage和static文件,以便我们可以在django的默认文件夹中分别分别分开,或指定这两个文件。再次路径。

  结论:以上是首席CTO汇编的两个VUE项目的全部内容,请注意Django如何代表两个VUE项目。感谢您花时间阅读本网站的内容。我希望这对您有帮助。有关Django和Vue Front -End -End分离分离的分离,以部署项目以及Django如何代表两个VUE项目的相关内容,请不要忘记在此站点上找到它。