在Django应用中打包JavaScript和CSS文件以供重用,通过pip安装?

5 投票
1 回答
1348 浏览
提问于 2025-04-16 14:33

我正在开发一个django应用,这个应用需要一个javascript文件来处理一些异步请求。我想把这个应用打包,这样别人可以通过easy_install或pip轻松安装,不用太麻烦。

但是我不太确定该把静态文件放在哪里,特别是javascript文件。在我的电脑上,静态文件放在一个外部目录里,而不是django提供的地方。我的模板里的所有内部引用都指向MEDIA_URL。

对于可重用的django应用,是否有一个标准的地方来打包、包含或附加静态文件?有没有办法把这个应用打包成别人可以直接使用的,不用去移动所有的javascript/css文件,或者在安装过程中自动处理这些文件的方法?

我使用的是django 1.2,还没有把服务器升级到1.3。

1 个回答

3

我觉得你需要的正是staticfiles应用,不过可惜这个功能是在Django 1.3版本中才新增的。你能升级一下吗?

根据文档的说明:

django.contrib.staticfiles会把你所有应用中的静态文件(还有你指定的其他地方的文件)收集到一个地方,这样在生产环境中就能方便地提供这些文件了。

编辑:根据Wogan的评论,如果你不想升级到1.3版本的话,你可以使用Staticfiles独立应用。这个应用最初就是Django内置的staticfiles应用的基础。

撰写回答