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

如何实现Django的前后分离(Django读写分离)

时间:2023-03-07 21:08:14 网络应用技术

  简介:许多朋友问有关Django如何在之前和之后取得分离的问题。本文的首席CTO笔记将为您提供详细的答案,以供所有人参考。我希望这对每个人都会有所帮助!让我们一起看看!

  FBV:基于函数基础视图基于方法的视图

  CBV:基于类视图的类基础视图

  因此,我了解到我不了解FBV和CBV的概念。

  SO -CALLED:类是将数据封装到对象并提供对象行为的能力。

  因此,我们可以将需求的接口完全封装成一类:

  由于默认情况下,由于Django视图类是继承的,因此它将根据请求类型自动映射相应的请求方法。

  但是,在所有Python Web框架甚至其他一些语言中,HTTP请求类型方法的方法映射是由特殊反射函数实现的。

  因此,摘要如下:

  此外,值得一提的是,如果该类中的调度方法(如果您不自己绘制),而是调用Django类的调度方法,则还可以在之前和之后进行一些其他操作。

  总共有10个项目,让我们一起学习缓慢!

  300系列:重定向类别

  400系列:客户错误

  500系列:服务器错误

  在前后 - 无端分离模式下,前端的耦合很高,前端取决于从后端返回的页面。前端页面由后端控制。

  通过耦合减少背面 - 返回分离。无论是前端还是后端还是应用程序,后端都只需要返回数据(JSON / XML)。

  后端使用的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端口

  结论:以上是首席CTO提出的Django的所有内容,向您注明了Django是如何在之前和之后分离的。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。