问题
我正在使用 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 %}
不起作用,我目前正在使用文件的完整路径,这很难看。