Django模板使用Djapian时"权限被拒绝
我按照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)。这样可以让你看到问题涉及的确切路径。