3

我已经在 Django 中设置了 Treebeard,一切似乎都很顺利。我尝试设置管理系统,我可以看到我的模型显示在管理界面中。但是,当我尝试使用管理界面添加新数据时,我的模板中出现以下错误。该代码仍然可以正常工作,我在我的数据库中进行了检查,数据似乎已正确插入。但是,视图似乎无法正确加载。知道是什么原因造成的吗?

我得到的例外是:

渲染时遇到异常:在 u'[{\'action_index\': 0, \'block\': , , , , , , ]>}, {\'block\': 中查找键 [request] 失败, , ]>, , , , , \n \'>, ]>, , ]>, , , , ]>, , , \n \'>, , , , , , , , , ]>, , ]> , \n \'>]>}, {\'cl\': , \'root_path\': None, \'actions_on_bottom\': False, \'title\': u\'选择要更改的专辑\', \'has_add_permission\': True, \'media\': , \'is_popup\': False, \'action_form\': , \'actions_on_top\': True, \'app_label\': \'gallery\'} , {\'MEDIA_URL\': \'\'}, {\'LANGUAGES\': ((\'ar\', \'阿拉伯语\'), (\'bn\', \'孟加拉语\'), (\'bg\', \'保加利亚语\'), (\'ca\', \'加泰罗尼亚语\'), (\'cs\', \'Czech\'), (\'cy\', \'Welsh\'), (\'da\', \'Danish\'), (\'de\' , \'German\'), (\'el\', \'Greek\'), (\'en\', \'English\'), (\'es\', \'Spanish\'), (\'et\', \'爱沙尼亚语\'), (\'es-ar\', \'阿根廷西班牙语\'), (\'eu\', \'巴斯克语\'), (\'fa\ ', \'波斯语\'), (\'fi\', \'芬兰语\'), (\'fr\', \'法语\'), (\'ga\', \'爱尔兰语\') , (\'gl\', \'加利西亚语\'), (\'hu\', \'匈牙利语\'), (\'he\', \'希伯来语\'), (\'hi\', \'印地语\'), (\'hr\', \'克罗地亚语\'), (\'is\', \'冰岛语\'), (\'it\', \'意大利语\'), ( \'ja\', \'日本\'), (\'ka\', \'格鲁吉亚\'), (\'ko\', \'韩国\'), (\'km\', \'高棉\'), (\' kn\', \'卡纳达语\'), (\'lv\', \'拉脱维亚语\'), (\'lt\', \'立陶宛语\'), (\'mk\', \'马其顿语\ '), (\'nl\', \'荷兰语\'), (\'no\', \'挪威语\'), (\'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 \': [], \'用户\': }, {}]'

这发生在我点击 Django admin 中的保存按钮后。

这是我的 admin.py 实现:

class MP_Album_Admin(TreeAdmin):
 pass

admin.site.register(Album,MP_Album_Admin)
4

3 回答 3

3

我找到了解决方案。在 settings.py 中将 'django.core.context_processors.request' 添加到 TEMPLATE_CONTEXT_PROCESSORS 元组是不够的。

我也加了

"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media"

现在它可以工作了。

于 2010-04-27T14:42:05.843 回答
2

您必须将 'django.core.context_processors.request' 添加到 settings.py 中的 TEMPLATE_CONTEXT_PROCESSORS 元组。

于 2010-03-27T23:16:24.610 回答
1

也许您忘记将“treebeard”应用程序添加到 INSTALLED_APPS。

我的 settings.py 类似于默认设置。我总是添加PROJECT_PATH = os.path.dirname(os.path.abspath(__ file__))变量,所以我的 TEMPLATE_DIRS 看起来像这样:

TEMPLATE_DIRS = (
    PROJECT_PATH + '/templates',
)
于 2010-04-05T13:42:27.747 回答