管理员中的 Django Guardian TemplateSyntaxError
Posted
技术标签:
【中文标题】管理员中的 Django Guardian TemplateSyntaxError【英文标题】:Django Guardian TemplateSyntaxError In Admin 【发布时间】:2011-11-13 22:55:59 【问题描述】:尝试在管理站点中使用 django-guardian 编辑对象权限时出现此错误。
渲染时捕获的 VariableDoesNotExist:在 u'[,\'csrf_token\':,\'debug\':True,\'sql_queries\':[\' 中查找键 [adminform] 失败堆栈跟踪\':...
模板错误
在模板 /Library/Python/2.7/site-packages/grappelli/templates/admin/change_form.html 中,第 34 行出错
发生错误的行。
var related_lookup_fields_fk = % get_related_lookup_fields_fk adminform.model_admin %;
如果这有什么不同的话,我会使用 grappelli 和 south。
我的模型
class Alert(models.Model):
"""Alert for product updates"""
product = models.ForeignKey(Product)
message = models.CharField(help_text="What has changed?",blank=True, max_length=200)
created = models.DateTimeField(auto_now_add=True, editable=False)
updated = models.DateTimeField(auto_now=True, auto_now_add=True, editable=False)
def __unicode__(self):
return u"%s" % self.message
class Meta:
ordering = ['-created']
permissions = (
('view_alert', 'View Alert'),
)
Admin.py
class AlertAdmin(GuardedModelAdmin):
pass
admin.site.register(Alert, AlertAdmin)
【问题讨论】:
【参考方案1】:grappelli 是这里的关键。
这是相关的问题 #51 (https://github.com/lukaszb/django-guardian/issues/51),已通过 https://github.com/lukaszb/django-guardian/commit/a21b044711266534eaef5e58397d0701ec101058 修复。
很遗憾,我还没有发布新的 django-guardian,所以你可以尝试使用 pip 直接从 github 安装包:
pip install -e git+git://github.com/lukaszb/django-guardian.git@a21b044711266534eaef5e58397d0701ec101058#egg=django-guardian-1.0.4.dev
希望对您有所帮助。
【讨论】:
以上是关于管理员中的 Django Guardian TemplateSyntaxError的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django 和 django-guardian 对象权限的每个对象的组
如何在 Django Guardian 中为用户定义默认权限?