如何在Django Admin中显示评论?

时间:2010-11-08 15:03:37

标签: django django-comments

我正在使用django.contrib.comments来允许用户在博客上发表评论。 怎样才能使评论显示在Django Admin / admin / comments / comment /上,并使它们可以点击进行编辑?

[这里应该是一张图片,但由于这是我的第一个问题,我没有信用,因此不允许包含图片]

可以通过/ admin / comments / comment / comment_id /访问这些评论,并且可以毫无问题地进行编辑。

任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

查看django.contrib.comments.admin,只要您将“django.contrib.comments”添加到INSTALLED_APPS,它就应该已经显示在您的管理面板中。

修改

再次查看来自评论应用程序的admin.py,发现CommentsAdmin.list_display不包含评论本身。所以我要么继承那个CommentsAdmin,重写list_display然后取消注册并重新注册Comment with MyNewCommentsAdmin - 或者我只是猴子补丁CommentAdmin。无论哪个都有效。

答案 1 :(得分: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

答案 2 :(得分:0)

添加回答Meilo:

如果您使用标准评论的框架(例如:#in url.py

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

您希望覆盖行为评论模型,您需要导入

#apps.admin.py

from django.contrib.comments.models import Comment