2013-02-13 12 views

答えて

0
from django.db.models import Field 
from django.forms import Textarea 
from settings import MEDIA_URL 

class WidgetWYSIWYG(Textarea): 
    def __init__(self, *args, **kwargs): 
     super(WidgetWYSIWYG, self).__init__(attrs={'class': 'wysiwygEditor vLargeTextField'}, *args, **kwargs) 
    class Media: 
     js = (
      MEDIA_URL+'common/tiny_mce/tiny_mce.js', 
      MEDIA_URL+'common/filebrowser/js/TinyMCEAdmin.js', 
      ) 

class WYSIWYGField(Field): 
    def get_internal_type(self): 
     return "TextField" 

    def formfield(self, **kwargs): 
     defaults = {'widget': WidgetWYSIWYG} 
     defaults.update(kwargs) 
     return super(WYSIWYGField, self).formfield(**defaults) 

from django.contrib import admin 
from wysiwyg import WidgetWYSIWYG 

from django.db import models 
from django.contrib.flatpages.models import FlatPage 
from django.contrib.flatpages.admin import FlatPageAdmin as FlatPageAdminOld 

class FlatPageAdmin(FlatPageAdminOld): 
    formfield_overrides = { 
     models.TextField: {'widget': WidgetWYSIWYG}, 
    } 

admin.site.unregister(FlatPage) 
admin.site.register(FlatPage, FlatPageAdmin) 
8

私はちょうどadmin.pyに次のコードでflatpagesをアプリケーションにジャンゴ - CKEditorバージョンを接続します

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 cked.widgets import CKEditorWidget 

class FlatPageCustom(FlatPageAdmin): 
    formfield_overrides = { 
     models.TextField: {'widget': CKEditorWidget} 
    } 

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

それは働きます!

+0

はDjango 1.6で動作しません – kissgyorgy

+0

しかし、それは更新されたバージョンで動作します:https://github.com/riklaunim/django-ckeditor チップをありがとう! – kissgyorgy

+5

admin.pyではこれを追加する必要がありますか? – Spoutnik16

関連する問題