1

ユーザーがブログにコメントできるようにするために、django.contrib.comments を使用しています。Django Admin /admin/comments/comment/ にコメントを表示し、クリックして編集できるようにするにはどうすればよいですか?

[ここに画像が必要ですが、これは私の最初の質問であり、クレジットがないため、画像を含めることは許可されていません]

コメントは /admin/comments/comment/ comment_id /からアクセスでき、問題なく編集できます。

それを解決する方法はありますか?

4

3 に答える 3

1

django.contrib.comments.admin を見ると、「django.contrib.comments」を INSTALLED_APPS に追加していれば、管理パネルに既に表示されているはずです。

編集:

コメント アプリの admin.py をもう一度見ると、CommentsAdmin.list_displayにコメント自体が含まれていないことがわかりました。したがって、その CommentsAdmin から継承し、list_display をオーバーライドしてから、Comment を MyNewCommentsAdmin で登録解除して再登録するか、CommentsAdmin にモンキー パッチを適用するだけです。どちらでも動作します。

于 2010-11-08T22:21:50.177 に答える
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
于 2010-11-16T13:02:01.340 に答える
0

メイロの回答に追加:

標準のコメントのフレームワークを使用する場合 (例: #in url.py

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

ビヘイビア コメント モデルを上書きしたい場合は、インポートが必要です

#apps.admin.py

from django.contrib.comments.models import Comment
于 2013-03-09T11:52:12.327 に答える