2010-11-08 71 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