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,重新啓動您的網絡服務器和刷新。