【发布时间】:2014-02-21 06:41:14
【问题描述】:
我的模板文件中使用了一个 CSS 文件
<link href="{% static "assets/style/reset.css" %}" rel="stylesheet" type="text/css"/>
我想在我的 JavaScript 中访问“静态”。可能吗?我该怎么做?
【问题讨论】:
我的模板文件中使用了一个 CSS 文件
<link href="{% static "assets/style/reset.css" %}" rel="stylesheet" type="text/css"/>
我想在我的 JavaScript 中访问“静态”。可能吗?我该怎么做?
【问题讨论】:
您的 javascript 必须通过 django 的模板重绘。您可以通过在模板中呈现您的 javacript 来做到这一点,例如 Django Template Variables and Javascript 建议。
或者您可以创建一个仅动态呈现您的 javascript 的视图:
(r'^dynamic.js$', dynamic_js)
def dynamic_js(request):
"""
Create a js file dynamically
"""
return render(request, 'dynamic.js',
content_type='application/javascript')
# dynamic.js
# can use template tags now!
让 django 为您的静态资产提供服务是非常低效的,如果您想要一个快速的网站,这是首先要迁移的事情之一。如果您的 js 文件很少更改,那么创建某种构建过程可能会更好,您可以在其中使用 django 生成动态 js(因此您可以使用模板变量)并将其保存到您的静态文件夹,以便您的网络服务器可以服务为您准备的内容!
【讨论】: