Django-admin. 从list_display链接到编辑用户资料
我在我的模型里加了一个叫“creator”的方法,像这样:
def creator(self):
return self.user
然后我在这个模型的Admin类里加了这一行^
list_display = ('title','created_at','votes','creator')
一切都很好……用户名在那一列显示出来了,但我想把这些名字变成链接,点击后能让我编辑用户的个人资料。 我该怎么做呢? 非常感谢!
3 个回答
0
在Django 2.0中,你不能再使用 allow_tags = True
这个设置了。现在,你需要通过返回 mark_safe("<a href="...">...</a>)
来标记这个字符串是安全的。
4
首先,把 'user_link' 加到 list_display 里。
然后,在你的 ModelAdmin 里加上这个:
def user_link(self, obj):
return '<a href="%s">%s</a>' % (
urlresolvers.reverse('admin:auth_user_change', args=(obj.user.id,)), obj.user
)
user_link.allow_tags = True
user_link.short_description = 'User'
(这个还没测试过)