尝试使用tinyMCE在博客内容中提供丰富的输入。我受到限制,因为我使用Django 1.11.20在Messanine内部。 tinyMCE似乎有很多版本,因此很难找到合适的解决方案。
我使用了Fosstack的文档来安装django-tinymce4-lite。然后将其集成到现有的更新博客表单中。表单未显示更改,但仍作为标准CharField呈现。 (此版本的Django不支持TextField)
在views.py
中class TinyMCEWidget(TinyMCE):
`def use_required_attribute(self,* args): 返回False
class UpdateForm(forms.ModelForm):
content = forms.CharField(
widget=TinyMCEWidget(
attrs={'required': False, 'cols': 30, 'rows': 10}
)
)
class Meta:
model = BlogPost
fields = ['content']
def UpdateContent(request, slug):
blog_post = BlogPost.objects.get(id=slug)
if request.method == 'POST':
form = UpdateForm(request.POST)
if form.is_valid():
blog_post.content = form.cleaned_data['content']
blog_post.save()
return HttpResponseRedirect('/write/')
else:
form = UpdateForm(instance=blog_post)
return render(request, 'blog_my_update.html', {'form' : form})
在blog_my_update.html
<h1>Update Story</h1>
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
{{ form.as_p }}
`更新故事
我希望看到tinyMCE呈现该表单。但是有一个普通的文本框。有人知道怎么修这个东西吗?预先感谢。
答案 0 :(得分:0)
如果确定要导入库的css和javascript文件,请确保在模板中使用{{form.media}}
,如果库使用django媒体格式,则此方法应该起作用,否则,请手动添加必要的编辑器的文件(css,javascript),并确保您具有编辑器通常用于呈现组件的某些类或ID