本文将告诉您Django如何快速调试静态页面以及如何设置与Django中静态文件相对应的知识点。我希望这对您有帮助,不要忘记收集此网站。
本文目录清单:
1.如何在django休息中使用静态页面?2。Django如何完成静态页面?3。Python - - Django项目开发:配置项目/静态/路径,调用CSS,IMG,JS和其他静态文件4. DJANGO+VUE静态资源问题需要调用静态页面?通常,Django开发背景动态。前端使用NGINX和其他服务接收页面请求,然后将其传输到Django处理。静态页面直接允许NGINX的前端进行处理。如果您想在测试过程中查看静态页面效果,则可以参考Django Book中的内容。
如果网站的流量太大,则每次访问它时都会动态生成。执行SQL语句并消耗大量服务器资源。目前,您可以考虑生成静态页面。
生成静态非常简单。以下是一个示例:
只需写入views.py
从django.shortcuts导入渲染
来自django.template.loader导入render_to_string
导入操作系统
def my_view(请求):
context = {'some_key':'some_value'}
static_html ='/path/to/stative.html'
如果不是OS.PATH.EXISTS(static_html):
content = render_to_string('template.html',上下文)
用static_file开放(static_html,'w'):
static_file.write(内容)
返回渲染(请求,static_html)
在上面的示例中,当用户访问它时,如果您判断没有静态页面,则将自动生成静态页面,然后返回到静态文件。当文件存在时,它将不会再次生成。
您还可以使用一个文件夹,例如在投影下设置static_html文件夹,将生成的静态文件放入其中,从而使用户可以访问页面,例如访问静态文件。
更好的方法
但是,通常,由于Django具有缓存函数,因此无需生成静态页面。使用Django缓存(缓存)等效于生成静态页面,并且具有自动更新的函数,例如在30分钟内刷新页面内容。
在Django项目的开发中,就像普通的Web开发一样,不可能通过“ IMGS/BG.JPG”访问本地静态文件。有必要进行一些配置以实现静态文件访问。
首先,在项目根路径下创建一个新的静态文件夹,然后在静态文件夹下创建相应的CSS,IMGS,JS和其他文件夹,以存储静态文件,例如CSS,IMG,JS。
第二,项目配置
1.打开settings.py并将其添加到底部:
2.打开urls.py并将其添加到urlpatterns :(注意,如果您还将urls.py设置在博客目录中,则必须在blog/urls.py中进行修改。不要忘记导入设置):
(但是在测量之后,我可以完成静态文件的访问,而无需添加此文件)
3.在HTML模板的顶部添加:
然后以这种格式调用您需要的格式,例如:
最终重新运行该项目,Django可以找到本地静态文件,例如IMG。目前,可以使用IMG和其他文件显示与模板相对应的页面。
使用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的需求同时引起了上述问题。
如何在这里快速调试Django的静态页面,只需谈论静态页面的介绍即可。感谢您花时间阅读本网站的内容。有关如何在Django中设置静态文件的更多信息,如何快速调试Djangooh上的静态页面。