2011-12-21 3 views
1

Adminim에서 tinymce 위젯을 사용하는 게으른 방법이므로 모델에 HTMLField가 있습니다. 그러나 문제는 textarea 필드에 "행"속성 집합이 없다는 것입니다. 따라서 텍스트 영역에는 Admin에서 편집하기에 충분한 높이가 없습니다. ModelAdmin 클래스를 정의하지 않고 HTMLField의 높이를 설정할 수있는 방법이 있습니까?Admin에 HTMLField의 위젯 높이를 설정하는 방법은 무엇입니까?

는 업데이트 :

나는 다음과 같은 코드를 사용하여 문제를 해결 :

def create_mce_formfield(db_field): 
    return db_field.formfield(widget = TinyMCE(
     attrs = {'cols': 80, 'rows': 30}, 
     mce_attrs = { 
      'external_link_list_url': reverse('tinymce.views.flatpages_link_list'), 
      'plugin_preview_pageurl': reverse('tinymce-preview', args= ('tinymce',)), 
      'plugins': "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template", 
      'theme_advanced_buttons1': "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", 
      'theme_advanced_buttons2': "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", 
      'theme_advanced_buttons3': "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", 
      'theme_advanced_buttons4': "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak", 
      'theme_advanced_toolbar_location': "top", 
      'theme_advanced_toolbar_align': "left", 
      'theme_advanced_statusbar_location': "bottom", 
      'theme_advanced_resizing': True, 
      'extended_valid_elements': "iframe[src|title|width|height|allowfullscreen|frameborder|webkitAllowFullScreen|mozallowfullscreen|allowFullScreen]", 
     }, 
    )) 

class TinyMCEFlatPageAdmin(FlatPageAdmin): 

    def formfield_for_dbfield(self, db_field, **kwargs): 
     if db_field.name == 'content': return create_mce_formfield(db_field) 
     return super(TinyMCEFlatPageAdmin, self).formfield_for_dbfield(db_field, **kwargs) 

답변

1

나는 개인적으로 그냥 media definition on the admin class이 TinyMCE에이 관리자 양식에 활성화 얻을 설정 쉽게 생각합니다.

그러나 질문에 대답하기 위해 양식에서 해당 필드를 표시하는 데 사용하는 위젯을 조정하고 싶을 수 있습니다. 자세한 내용은 설명서의 customizing widget instances을 참조하십시오. 위젯에 행 속성을 전달하여 크기를 더 크게 만들 수 있습니다. settings.py

TINYMCE_DEFAULT_CONFIG = { 
    'plugins': "table,xhtmlxtras,paste,searchreplace", 
    'theme': "advanced", 
    "theme_advanced_buttons3_add" : "cite,abbr", 
    'cleanup_on_startup': True, 
    'custom_undo_redo_levels': 10, 
} 

모든 옵션에