我花了几天的时间试图弄清楚这一点,这让我陷入困境。我可以复制和粘贴的内容有限,因此请原谅“代码简洁”。我还开发了一个工作版本并将其上传到GitHub。
我正在开发一个也使用 AngularJS 的 Django 网站,所以我正在使用该djangular
包,特别是允许我将 Django 变量导入 Angular 的位。这是来自 GitHub 的部分:
要使用 Djangular 为您提供的 AngularJS 模块,您需要将 djangular 应用程序添加到您的项目 URL。
urlpatterns = patterns('', ... url(r'^djangular/', include('djangular.urls')), ... )
我已经把它放在我的project/urls.py
文件中了。我对我的 GitHub 存储库做了同样的事情。
当我在我的 中引用该 URL 时appName/app/index.html
,我会这样做:
<script src="{% static 'djangular/app.js' %}"></script>
但这会导致来自服务器的 500 响应,因为 Angular 生成模块“djangular”不可用!错误。应该发生的是djangular/app.js
上面脚本标记中的 URL 应该重定向到urls.py
Python 中的 Djangular 文件夹内site-packages
,然后指向DjangularModuleTemplateView.as_view()
. 这似乎适用于我的 GitHub 版本,但由于某种原因不适用于我拥有的本地版本。
如果我的脚本标签没有该"{%static '...'%}"
部分,我仍然会得到 500,并出现相同的错误:
<script src="/djangular/app.js"></script>
我可能忽略了哪些配置导致应用找不到正确的 Djangular 配置?我盯着这两种配置看了这么久,我的眼睛都呆滞了,我正在努力寻找任何差异。还能是什么?
如果需要回答这个问题,我很乐意提供更多详细信息。