0

我试图用Django Flatpages(到Admin)实现Django TinyMCE小部件。与TinyMCE一起使用Django Flatpages

我已经看过这个Embedding tinyMCE in django flatpage

我做了萨韦但不工作。这里是我的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简单页面,但该控件不会出现。有任何想法吗?

回答

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) 
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,重新启动您的网络服务器和刷新。