设置Dajaxice与Coffin时未知标签'dajaxice_js_import

1 投票
2 回答
807 浏览
提问于 2025-04-16 09:04

参考资料:

在我的 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的自定义模板里。不过,关于这方面的支持和文档似乎有点不太靠谱。

撰写回答