58 You can include tiny_mce_src.js in your template using: |
58 You can include tiny_mce_src.js in your template using: |
59 {% block scripts %} |
59 {% block scripts %} |
60 <script type="text/javascript" src="/tiny_mce/tiny_mce_src.js"></script> |
60 <script type="text/javascript" src="/tiny_mce/tiny_mce_src.js"></script> |
61 {% endblock %} |
61 {% endblock %} |
62 """ |
62 """ |
63 DEF_MCE_SETTINGS = { 'mode': "exact", |
|
64 'theme': "simple", |
|
65 'theme_advanced_toolbar_location': "top", |
|
66 'theme_advanced_toolbar_align': "center"} |
|
67 |
63 |
68 mce_settings = DEF_MCE_SETTINGS.copy() |
64 mce_settings = {'mode': "exact", |
|
65 'theme': "simple", |
|
66 'theme_advanced_toolbar_location': "top", |
|
67 'theme_advanced_toolbar_align': "center"} |
69 |
68 |
70 TINY_MCE_HTML_FMT = u'''\ |
69 TINY_MCE_HTML_FMT = u'''\ |
71 <textarea %(attrs)s>%(value)s</textarea> |
70 <textarea %(attrs)s>%(value)s</textarea> |
72 <script type="text/javascript"> |
71 <script type="text/javascript"> |
73 tinyMCE.init(%(settings_json)s) |
72 tinyMCE.init(%(settings_json)s) |
74 </script>''' |
73 </script>''' |
|
74 |
|
75 def __init__(self, mce_settings=None, *args, **kwargs): |
|
76 """Initialize TinyMCE widget with default or customized settings |
|
77 |
|
78 Args: |
|
79 mce_settings: dict with TinyMCE widget settings |
|
80 *args, **kwargs: passed through to parent __init__() constructor |
|
81 """ |
|
82 super(forms.widgets.Textarea, self).__init__(*args, **kwargs) |
|
83 |
|
84 if mce_settings: |
|
85 self.mce_settings.update(mce_settings) |
75 |
86 |
76 def render(self, name, value, attrs=None): |
87 def render(self, name, value, attrs=None): |
77 """Render TinyMCE widget as HTML. |
88 """Render TinyMCE widget as HTML. |
78 """ |
89 """ |
79 if value is None: |
90 if value is None: |