and*_*ndy 8 javascript python deployment django templates
我想使用Django模板变量渲染一些静态文件(特别是*.js).我相信这是一个常见的用例,尤其是在做任何AJAX-y时; 我不想在我的.js文件中硬编码AJAX网址,只是想在我的.html文件中对它们进行硬编码.Buuuut当然我不希望那些静态文件在每个客户端请求都必须通过模板引擎运行,因为这会很慢.我指的是诸如URL(在编译/部署之后不会改变)或静态(非db)模型属性之类的东西.(我想有些用例可能会在运行时更改这些内容 - 毕竟这是Python,但我认为它们并不常见).对于一些可能的模板变量(例如模型字段),当然必须在客户端请求时呈现文件,但这不是我所说的.
因此,通过模板引擎渲染我的一些静态文件,对于可能的模板变量的子集,可能同时也是如此有意义collectstatic
吗?
据我所知,目前情况并非如此.要清楚,我正在寻找的是在编译/部署时通过模板引擎呈现静态文件的解决方案,以便在"客户端请求时"它们实际上是普通的旧静态文件.
这种方法可以避免这些黑客攻击:
免责声明:
所以:
collectstatic
(比如一个pre-collectstatic钩子),允许人们在"收集"它们之前通过模板引擎渲染某些静态文件?编辑:还没有回答......这是一个非常愚蠢的问题,我错过了一些明显的东西?如果是这样......继续告诉我......
小智 1
我认为django-medusa会满足您的需求。
通过设置渲染器并使用基于磁盘的后端,生成静态文件将非常简单:
django-admin.py staticsitegen
Run Code Online (Sandbox Code Playgroud)