4

过去几个小时我一直在到处寻找问题的答案,但找不到任何东西,所以我决定问。

我遵循 Dajaxice 文档中的安装说明,所有设置都完全相同,但不幸的是我的 Dajax.core.js 文件没有被解析,所以当我点击页面 html 源代码中的 javascript 链接时,它仍然包含模板标签。我将 Dajaxice finder 包含在 staticfiles_finder 中(实际上我已经完成了 ins 指令中的所有设置。

我目前正在使用 django 1.4.1 开发服务器进行测试,最新的 Dajaxice 版本是 0.9,这有什么区别吗?

settings.py 中变量的顺序是否重要?

Javascript文件没有被解析的主要原因是什么,实际上应该在什么时候解析它们?

请帮助我,因为我真的很想使用这个应用程序,但无法让它工作。

提前致谢。

4

1 回答 1

7

我建议您检查与应用程序STATICFILES_FINDERS相关的设置和其他设置django.contrib.staticfiles。Dajaxice 在这个应用程序中使用了一个钩子来生成dajaxice.core文件。

当您使用调试服务器时,此静态文件是动态生成的,在生产环境中,该文件将在您运行collectstatic命令时生成。

在您的情况下,该文件看起来像是dajaxice.core.js由另一个静态查找器创建或以任何其他方式提供的。

要检查这一点,请运行以下命令

python manage.py findstatic dajaxice/dajaxice.core.js

输出应该看起来像

Found 'dajaxice/dajaxice.core.js' here:
  /tmp/tmp9nzeEd

tmp 目录中的文件名会有所不同

收集静态应用程序还有两个陷阱:

  1. 当您更新ajax.py文件以包含新的 dajaxice 视图时,您必须collectstatic再次运行
  2. 该文件在/tmp/文件夹中生成。因此,如果您使用-l密钥生成链接而不是复制文件,请确保您不会意外删除此文件。
于 2012-09-28T14:01:15.917 回答