seb*_*piq 9 javascript django assets
当我为Django项目编写JS文件时,我当然会做一些AJAX调用,而且目前这些调用的url是硬编码的(这非常难看).
我在考虑让django(而不是Apache)提供JS文件,所以我可以利用模板标签({% url %}!!!).
我不应该这样做吗?
或者有正确的方法吗?
(我可以给出至少一个:它会消耗很多时间来重新发送没有改变的JS文件.最好的方法是让一个应用程序在重新启动django服务器时生成文件,然后静态地为它们提供服务!)
Dan*_*man 11
我会选择混合技术.静态服务你的大部分javascript.但是在你的Django模板中,有一个<script>定义各种全局变量的块,这是由服务器端代码生成的 - url就是一个很好的例子.然后,静态JS可以引用动态代码中生成的变量.
我从djangopackages深入搜索了那些资产管理器应用程序,发现django-mediagenerator提供了这个功能,即使它没有很好地记录:你可以生成你的js或css文件作为django模板,然后静态地提供它们(它们是捆绑,缓存管理等...所以两只一石二鸟+它很容易设置!).
为了将JS文件生成为django模板(在设置之后django-mediagenerator),只需添加过滤器:
ROOT_MEDIA_FILTERS = {
'js': 'mediagenerator.filters.template.Template',
}
Run Code Online (Sandbox Code Playgroud)
在你的设置中.
| 归档时间: |
|
| 查看次数: |
4838 次 |
| 最近记录: |