2010-11-08 86 views
1

我使用django.contrib.comments来允许用户在博客上发表评论。 如何在Django Admin/admin/comments/comment /上显示注释并使其可点击进行编辑?如何在Django Admin中显示评论?

[这里应该是一个形象,但因为这是我的第一个问题,我没有功劳,这是不允许的,包括图片]

的意见可以通过/管理/评论/评论/ 访问comment_id /编辑没有问题。

任何想法如何得到解决?

回答

1

看着django.contrib.comments.admin,它应该已经在您的管理面板中可见,只要您将'django.contrib.comments'添加到INSTALLED_APPS。

编辑:

二看admin.py从评论的应用程序revelaed是CommentsAdmin.list_display不包含注释本身。所以我要么从CommentsAdmin继承,重写list_display,然后取消注册并重新注册Comment with MyNewCommentsAdmin - 或者我只需要monkey-patch CommentsAdmin。无论哪个工作。

+0

谢谢您的回答,托马斯。是的,评论在管理面板中可用,可以按日期等进行排序。但是,管理面板仅显示评论数量;没有链接显示到个人评论,以便他们可以很容易地编辑。任何想法如何使个人评论可见?有人在管理面板上遇到类似问题吗? – Meilo 2010-11-09 20:36:32

+0

看看我编辑的答案。对我来说,这不是管理面板的问题,只是CommentsAdmin的设计方式。 – 2010-11-10 09:58:26

0

谢谢Tomasz, 问题是list_display中的'content_type',导致什么都没有显示。从MyCommentsAdmin删除它解决了这个问题:

应用程序/ admin.py:

class MyCommentsAdmin(admin.ModelAdmin): 
    fieldsets = (
     (_('Content'), 
      {'fields': ('user', 'user_name', 'user_email', 'user_url', 'comment')} 
     ), 
     (_('Metadata'), 
      {'fields': ('submit_date', 'ip_address', 'is_public', 'is_removed')} 
     ), 
    ) 

    list_display = ('name', 'ip_address', 'submit_date', 'is_public', 'is_removed') 
    list_filter = ('submit_date', 'site', 'is_public', 'is_removed') 
    date_hierarchy = 'submit_date' 
    ordering = ('-submit_date',) 
    raw_id_fields = ('user',) 
    search_fields = ('comment', 'user__username', 'user_name', 'user_email', 'user_url', 'ip_address') 

admin.site.unregister(Comment) 
admin.site.register(Comment, MyCommentsAdmin) 

urls.py:

from django.contrib import admin 
admin.autodiscover() 

import app.admin 
0

附加回答Meilo:

,如果你使用的标准注释的框架(如:#in url.py

url(r'^comments/', include('django.contrib.comments.urls')), 

你想覆盖行为的意见模型,需要导入

#apps.admin.py

from django.contrib.comments.models import Comment