我正在使用Django 1.3。我将不得不在我的模板中使用许多不同的JavaScript函数(如10或其他)。
我首先要做的是将它们放在<script>
标签中,该标签运行正常。但是现在它有效,我想将它们与模板代码分开。它会使代码更易于阅读。
所以我想到了使用{% ssi "..." parsed %}
的东西。由于我在JavaScript代码中使用了Django模板标记,因此我不能仅使用<script src="..."></script>
将其与静态文件链接起来。
这是有效的:
# This will allow the {% ssi %} tag to include files from the given paths
ALLOWED_INCLUDE_ROOTS = (
'/THIS/IS/THE/FULL/PATH/TO/MY/PROJECT/static/js/',
)
以下是不起作用的:
# Project root for further paths
PROJECT_PATH = os.path.dirname(__file__)
# This will allow the {% ssi %} tag to include files from the given paths
ALLOWED_INCLUDE_ROOTS = (
PROJECT_PATH+'/static/js/',
)
我仔细检查了两个字符串是否相同(./manage shell
)并且它们完全相同(尾随/
和所有)。
[Didn't have permission to include file]
?{% ssi %}
标记中的文件?由于{% get_static_prefix %}
不起作用,我目前正在使用该文件的完整路径,这很难看。答案 0 :(得分:0)
虽然看起来很奇怪,但我的settings.py
没有做任何改变,但它现在已经是功能性的。我相信Mike Cooper是对的,而且一些远程代码正在打破ALLOWED_INCLUDE_ROOTS
路径。
答案 1 :(得分:-2)
ALLOWED_INCLUDE_ROOTS
可能是常量。常数并不是可变的。
http://en.wikipedia.org/wiki/Constant_(programming)#Naming_conventions