设置Dajaxice与Coffin时未知标签'dajaxice_js_import
参考资料:
在我的 Django 应用中,我想安装和使用 Dajaxice。我已经通过 easy_install 成功加载了这个包——我可以在 Django 的命令行中 import
它。现在我来到了安装指南中需要加载 Dajaxice 的 JavaScript 的部分。我在我的 base.html 模板中输入了以下内容:
{% load dajaxice_templatetags %}
然后,在 <head>
标签中:
{% dajaxice_js_import %}
在这一行我遇到了一个模板语法错误,提示“遇到未知标签 'dajaxice_js_import'”。
这是我在 settings.py 中的 TEMPLATE_LOADERS 内容:
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
我已经安装了 Coffin,看起来这个错误是在那里引发的,或者是在 Jinja2 中(错误追踪显示经过了 coffin 包,并且异常是在 jinja2/environment 中引发的)。
现在,我猜答案可能是我需要用 Coffin 写一个自定义标签,但我尝试的方式并没有成功。所以我有几个问题:
问题出在 Coffin 吗?如果是的话,我该怎么修复它?自定义模板标签的代码应该是什么样的?
2 个回答
0
你忘了把 dajax 和 dajaxice 加到已安装应用的列表里了。应该像这样:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'dajax',
'dajaxice',
)
另外,请检查一下 urls.py 文件,看看是否有 dajaxice_autodiscover() 这个调用。
1
我刚放弃这个问题,自己写了ajax函数。我现在还不太确定该怎么解决这个问题,但答案可能在Coffin的自定义模板里。不过,关于这方面的支持和文档似乎有点不太靠谱。