Django模板使用Djapian时"权限被拒绝

0 投票
1 回答
2801 浏览
提问于 2025-04-15 16:26

我按照Djapian的教程一步一步设置好了一切,确保Djapian提供的indexshell命令行可以成功查询。

但是,当我尝试把Djapian教程中的示例搜索整合进来时,却遇到了一个奇怪的错误:

在 /search/ 处出现了模板语法错误

渲染时捕获到异常: (13, '权限被拒绝')

错误指向这一行:

{% if results %}

如果我修改或省略这一行,接下来就会在引用“results”字段的任何行上出现相同的错误。

错误追踪信息显示了这个异常:

OSError(13, '权限被拒绝')

出现在:

/usr/local/lib/python2.6/dist-packages/django/template/debug.py 的 render_node

django-debug-toolbar显示的结果是:

<djapian.resultset.ResultSet object at 0x7f7142affcd0>

这是Djapian的问题吗?无论如何,为什么会出现“权限被拒绝”的错误呢?

1 个回答

2

请先找出这个错误涉及的具体文件路径。我猜可能是对某个模板缓存进行写操作,但你需要确认一下。

接下来,你只需要检查一下这个文件的UNIX权限,或者如果是新创建的文件,就检查一下它所在目录的权限。

还有一种方法是通过 strace 来运行你的应用程序 (这是一个命令行工具,详细信息可以查看 man strace),然后在输出中搜索这样的错误(13)。这样可以让你看到问题涉及的确切路径。

撰写回答