0

我正在尝试使用 Django Flatpages(进入管理员)来实现 Django TinyMCE 小部件。

我已经在 django flatpage 中阅读了这个 Embedding tinyMCE

我做了sabe,但没有工作。这是我的 admin.py 代码:

from django.contrib.flatpages.admin import FlatpageForm, FlatPageAdmin
from django.contrib.flatpages.models import FlatPage
from tinymce.widgets import TinyMCE
from django.contrib import admin


class PageForm(FlatpageForm):

    class Meta:
        model = FlatPage
        widgets = {
            'content': TinyMCE(attrs={'cols': 100, 'rows': 15}),
        }


class PageAdmin(FlatPageAdmin):
    """
    Page Admin
    """
    form = PageForm

admin.site.unregister(FlatPage)
admin.site.register(FlatPage, PageAdmin)

我的网站运行良好,没有错误,可以编辑或创建新的 Django Flatpage,但小部件没有出现。有任何想法吗?

4

2 回答 2

1

接受的答案对我不起作用(Django 1.10),所以这对我有用。

  1. 我首先在我的项目中创建了一个名为 content 的新应用程序,以保持井井有条。

    manage.py startapp content
    
  2. 我将此添加到我的 admin.py

    from django.contrib import admin
    from django.contrib.flatpages.admin import FlatPageAdmin
    from django.contrib.flatpages.models import FlatPage
    from django.db import models
    from tinymce.widgets import TinyMCE
    
    
    # Register your models here.
    class PageAdmin(FlatPageAdmin):
    """
    Page Admin
    """
    formfield_overrides = {
        models.TextField: {'widget': TinyMCE(attrs={'cols': 100, 'rows': 15})},
    }
    
    
    admin.site.unregister(FlatPage)
    admin.site.register(FlatPage, PageAdmin)
    
  3. 最后运行manage.py collectstatic,重新启动您的网络服务器并刷新。

于 2016-12-29T16:24:08.310 回答
0

我做了一些不同的事情,我错过了元类中的“字段”属性,遵循新代码,测试并运行:

from django.contrib.flatpages.admin import FlatpageForm, FlatPageAdmin
from django.contrib import admin
from django import forms
from django.contrib.flatpages.models import FlatPage
from tinymce.widgets import TinyMCE


class FlatPageForm(forms.ModelForm):
    content = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}))

    class Meta:
        model = FlatPage
        fields = '__all__'


class PageAdmin(FlatPageAdmin):
    """
    Page Admin
    """
    form = FlatPageForm


admin.site.unregister(FlatPage)
admin.site.register(FlatPage, PageAdmin)
于 2015-11-27T21:20:44.383 回答