我在Django中设置了Treebeard,一切似乎进展顺利。 我尝试设置管理系统,我可以看到我的模型在管理界面中显示。 但是,当我尝试使用管理界面添加新数据时,我的模板中出现以下错误。代码仍然正常,我在我的数据库中检查,数据似乎正确插入。但是,视图似乎没有正确加载。 什么导致这个?
我得到的例外是:
渲染时遇到异常:u'[{\'action_index \':0,\'block \':,,,,,,,]>},{\'块查找键[request]失败\':,,,,]>,,,,,, \ n \ n>,]>,,>,,,,,>,...,\ n \'> ,,,,, ,,,,,]>,,]>,\ n \'>]>},{\'cl \':,\'root_path \':无,\'actions_on_bottom \':False,\' title \':u \'选择要更改的相册,''has_add_permission \':True,\'media \':,''is_popup \':False,\'action_form \':,''actions_on_top \':是的,\'app_label \':\'gallery \'},{\'MEDIA_URL \':\'\'},{\'LANGUAGES \':((\'ar \',\'阿拉伯语\'), (\'bn \',''孟加拉\'),(\'bg \',\'保加利亚\'),(\'ca \',\'加泰罗尼亚\'),(\'cs \',\ '捷克',(\'cy \',\'威尔士\'),(\'da \',\'丹麦语\'),(\'de \',\'德语\'),(\ 'el \',\'Greek \'),(\'en \',\'English \'),(\'es \',\'Spanish \'),(\'et \',\'Estonian \'),(\'es-ar \',\'阿根廷西班牙语\'),(\'eu \',\'巴斯克\'),(\'fa \',\'波斯语\'),( \'fi \',\'芬兰语',(\'fr \',\'法语\'),(\'ga \',\'爱尔兰\'),(\'gl \',\'加利西亚人,(\'hu \', \'匈牙利语',(\'他',''希伯来语\'),(\'hi \',\'印地语\'),(\'hr \',\'克罗地亚\'),( \'是\',\'冰岛人',(\'它',''意大利人'),(\'ja \',\'日语\'),(\'ka \',\'格鲁吉亚人,(\'ko \',\'韩国人',(\'km \',\'高棉\'),(\'kn \',\'Kannada \'),(\' lv \',\'拉脱维亚语',(\'\'\',\'立陶宛语\'),(\'mk \',\'马其顿\'),(\'nl \',\'荷兰语\ '),(\'不\',\'挪威\'),(\'pl \',\'波兰语\'),(\'pt \',\'葡萄牙语\'),(\'pt- br \',\'巴西葡萄牙语'',(\'ro \',\'罗马尼亚语'),(\'ru \',\'俄语\'),(\'sk \',\'斯洛伐克语\'),(\'sl \',\'斯洛文尼亚\'),(\'sr \',\'塞尔维亚\'),(\'sv \',\'瑞典\'),(\'ta \',\''泰米尔人',(\'te \',\'泰卢固语\'),(\'th \',\'泰语\'),(\'tr \',\'土耳其语\' ),(\'uk \',\'乌克兰语\'),(\'zh-cn \',\'简体中文\'),(\'zh-tw \',\'繁体中文\')) ,\'LANGUAGE_BIDI \':False,\'LANGUAGE_CODE \':\'en-us \'},{},{\'perms \':,''messages \':[],\'user \': },{}]'
在我点击Django admin中的保存按钮后会发生这种情况。
这是我的admin.py实现:
class MP_Album_Admin(TreeAdmin):
pass
admin.site.register(Album,MP_Album_Admin)
答案 0 :(得分:3)
我找到了解决方案。将'django.core.context_processors.request'添加到settings.py中的TEMPLATE_CONTEXT_PROCESSORS元组是不够的。
我也加了
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media"
现在可行。
答案 1 :(得分:2)
您必须将'django.core.context_processors.request'添加到settings.py中的TEMPLATE_CONTEXT_PROCESSORS元组。
答案 2 :(得分:1)
也许您忘记将“treebeard”应用程序添加到INSTALLED_APPS。
我的settings.py与默认设置类似。我总是添加PROJECT_PATH = os.path.dirname(os.path.abspath(__ file__))
变量,所以我的TEMPLATE_DIRS看起来像这样:
TEMPLATE_DIRS = (
PROJECT_PATH + '/templates',
)