【问题标题】:Why does the Django-Summernote prevents prepopulated_fields from working?为什么 Django-Summernote 会阻止 prepopulated_fields 工作?
【发布时间】:2020-04-20 19:52:04
【问题描述】:

我注意到我愿意在 Django Admin 中使用的 Django-Summernote 会阻止 PostAdmin 正常工作。 一旦我尝试用 Summernote 替换默认内容字段,Auto-Slug 就会停止工作,并且大多数已发布内容的文本都不会显示。我进行了快速搜索,不幸的是,我无法找到解决此问题的方法。因此,如果你们告诉我出了什么问题,我会很高兴。

这是我的 admin.py:

from django.contrib import admin
from .models import Post
from django.contrib import admin
from django_summernote.admin import SummernoteModelAdmin


class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'slug', 'status','created_on')
    list_filter = ("status",)
    search_fields = ['title', 'content']
    prepopulated_fields = {'slug': ('title',)}




class PostAdmin(SummernoteModelAdmin):
    summernote_fields = ('content',)


admin.site.register(Post, PostAdmin)

【问题讨论】:

  • 为什么有 2 个不同的 PostAdmin 类?只保留第一个,但继承自 SummernoteModelAdmin 并在其中定义 summernote_fields。
  • @OlegRusskin 非常感谢您的帮助:)

标签: python django wysiwyg summernote


【解决方案1】:

SummernoteModelAdmin 具有 ModelAdmin 的功能,因此无需创建两次 PostAdmin 类。只需将 PostAdmin 类中的 admin.ModelAdmin 替换为 SummernoteModelAdmin,并将 summernote_fields 变量添加到现有变量中,如下所示:

class PostAdmin(SummernoteModelAdmin):
    list_display = ('title', 'slug', 'status', 'created_on')
    list_filter = ("status",)
    search_fields = ['title', 'content']
    prepopulated_fields = {'slug': ('title',)}
    summernote_fields = ('content',)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-12
    • 2021-11-04
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多