首席执行官在本文中指出,将介绍有关Django如何打包和Django编译的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
本文目录清单:
1. Django+Vue静态资源问题2. Django使用GZIP实现数据压缩3.如何打包Django 4.如何将Django 1.7程序打包到EXE Program 5,Django和VUE中,首次使用Django 2.2。
一般而言,使用指令NPM Run构建以获取包装的包装,然后将其交给NGINX进行路由转换(配置的位置 /静态)。需要的是配置Django上的可访问index.html路径。
但是(?),我想在本地测试,也就是说,没有nginx,并且debug = true环境尚未测试。结果,没有欢迎页面进入主页。打开开发工具并表明这就是它的样子:
解决方案:只需在installed_apps中注册VUE Engineering文件夹即可。
如果您不注册该应用程序,那么即使您编写文件夹,Django也不会扫描(根目录除外):
如上所示,我在staticfiles_dir包装的Blogfro(即VUE文件目录)之后写了静态文件夹,但是输入主页时仍然是白屏幕。
白屏幕的路径表示模板模板是正常的,但是仍然无法加载静态文件。此需要注册的应用程序。注册后,您可以扫描静态文件。
注册后,已成功显示主页:
当没有加载该应用程序时,我发现CSS和JS文件放在已注册应用程序(BackND)的静态文件夹中,可以正常显示。此验证静态文件夹的扫描是否需要注册的应用程序。
以我的项目为例:
在调试模式下,您只需要static_url和staticfiles_dir。
根据Django文档,static_url是路径的地图。服务器将考虑将其匹配的路径,然后输入staticfiles_dir指定的目录以查找,并始终尝试返回匹配的第一个结果匹配。
在生产模式(封闭的调试)中,对静态文件的引用将失败。换句话说,对于性能考虑,我们不将Django服务器用于静态资源请求。我们经常使用其他反向服务器进行发送。
对于此考虑,Django使用CollectStatic指令将所有staticfiles_dir下的所有文件打包到static_root.dre.ter之后,您只需要配置此静态文件夹即可应用此静态文件夹。
之后,您可以直接开发Blogfro。开发完成后,使用NPM Run Build,然后直接打开DJANGO服务器进行测试。包装在线时,将内容复制到static_root下方,然后将内容复制到python manage.py collection.plectionstatic(主要是收集admin)资源。
实际上,问题并未完全解决,但这是由VUE + Django引起的。
Django使用其自己的静态路径索引,这与VUE有必要冲突。要处理它,必须调试它。
使用django和vue意味着您要将前端和后端分开,因此开发过程本身是隔离的。双方的交集应为最后一个部署(VUE包装,Django打开生产模式,并且反效力师打开(例如nginx)。这次,静态文件夹属于反服务器管理,不会出现此类问题。
由于我只有一个人(太痛苦),因此对Debug Vue和Django的需求同时引起了上述问题。
当使用正面和后端分离项目时,如果使用Vue React等框架开发前端,则项目中的JS文件通常很大。即使在使用WebPack包装之后,不到几百个k。如果数据没有压缩和传输,它将大大增加用户加载页面的等待时间。在同一时间,在使用AJAX交互数据时,JSON数据通常会经常到达数百个k.ausing django可以轻松地压缩接口所需的数据。很好地增强了用户的体验。
要通过Django压缩请求处理,您可以使用全局配置
如果要控制某个界面进行压缩,则可以使用gzip_page进行配置
nginx使用GZIP
建议下载此包装软件:Innosetup,简单,功能强大且体质小。
。官方网站下载了相应的pyinstall工具,我下载了pyinstaller-3.2.1.zip并将其解压缩
2.通过CMD转到Pyinstaller目录,并执行安装安装以进行安装。此时,将必要的第三方袋安装到Python路径上。当然,您不在乎细节。
3.成功安装后可以使用它。
tk-gui.py是我的源程序
因为我想改变一些以前的需求,所以主管要求我学习Vue。花了很长时间才进入门,我不得不更改成熟的项目。这个困难仍然很困难。
那些熟悉网站构建的人应该知道Vue是一个出色的前端框架,而Django是Python语言系统下的后端框架。尽管他们俩都可以编写一个完整的网站,但它们具有自己的焦点。速度很快,但是模板引擎附带的速度相对较弱,VUE是由数据驱动和组成的意识形态构建的。它是渲染页面中的第一个类。因此,随着Python的开发,可以开发网站。
不同的框架如何组合?这导致了前端和后端分离的想法。后端仅提供接口,API和前端来调用这些接口以获取数据,然后将其渲染到HTML模板模板。
在开发不同的框架时,最大的问题是交叉域。由于不同的框架,它们启用的端口号不同,即不同的数据源。由于安全性,无法直接访问它们。它是Django配置文件中的跨域许可证。使用Django的第三方软件包Django-Cors-neaders解决跨域问题
在这种情况下,我们可以使通过VUE启动方法进行调试更加方便
最终如何集成在一起?我们知道Django是通过指定模板和静态文件的路径来渲染的,因此我们需要打包VUE文件以生成index homepage和static文件,以便我们可以在django的默认文件夹中分别分别分开,或指定这两个文件。再次路径。
结论:以上是首席CTO的所有内容都注明了Django如何为每个人打包。感谢您阅读本网站的内容。我希望这对您有帮助。有关Django编译的相关内容以及如何打包Django的更多信息。不要忘记在此站点上找到它。