Hey*_*yl1 4 django templates tinymce django-tinymce
使用django-tinymce,我之前已经成功将TinyMCE嵌入了Admin中。但是,以前端形式嵌入它似乎对我不起作用。
我有一个表格是modelForm。它不会添加任何额外的字段(“ comment”和“ statement”是唯一使用的字段,它们存在于模型中)。在textarea字段中,我想使用TinyMCE的那种形式的“ comment”。我尝试了以下方法:
class EntryForm(forms.ModelForm):
comment = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 30}, mce_attrs=TINYMCE_USER_CONFIG))
class Meta:
model = Entry
fields = ['statement','comment',]
Run Code Online (Sandbox Code Playgroud)
和
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ['statement','comment',]
def __init__(self, *args, **kwargs):
super(EntryForm, self).__init__(*args, **kwargs)
self.fields['comment'].widget = TinyMCE(attrs={'cols': 80, 'rows': 15}, mce_attrs=TINYMCE_USER_CONFIG,)
Run Code Online (Sandbox Code Playgroud)
和
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ['statement','comment',]
class Media:
js = ('/media/tinymce/jscripts/tiny_mce/tiny_mce.js',
'/sitemedia/js/tinymce_setup.js',)
Run Code Online (Sandbox Code Playgroud)
在HEAD我放置的html标签中{{ form.media }}(form在视图和模板中调用了表单)。我还使用Grappelli和Filebrowser进行管理。
有人可以解释一下我所缺少的内容或使其工作的过程吗?非常感谢!
要回答我自己的问题:最后一种选择有效。
问题在于`/sitemdia/js/tinymce_setup.js'是Grappelli安装文件。仅应由管理员使用。我删除了那一点,所以最终得到了:
class Media:
js = ('/media/tinymce/jscripts/tiny_mce/tiny_mce.js',
'',)
Run Code Online (Sandbox Code Playgroud)
在标题中我添加了
<script type="text/javascript">
tinyMCE.init({
mode: "textareas",
theme: "simple"
});
</script>
Run Code Online (Sandbox Code Playgroud)
您也可以删除另一个可以运行的文件,而不是删除安装文件(例如,其中包含代码的tinyMCE.init位)。
这应该够了吧 :)。