我正在使用django.contrib.comments来允许用户在博客上发表评论。 怎样才能使评论显示在Django Admin / admin / comments / comment /上,并使它们可以点击进行编辑?
[这里应该是一张图片,但由于这是我的第一个问题,我没有信用,因此不允许包含图片]
可以通过/ admin / comments / comment / comment_id /访问这些评论,并且可以毫无问题地进行编辑。
任何想法如何解决这个问题?
答案 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