我正在尝试让TinyMCE替换烧瓶中wtforms生成的形式的textarea。 遵循官方的快速入门和此处的文章:https://www.kevin7.net/post_detail/2,但仍然无法替换。
我已经尝试了云和本地安装。
HTML:
# In the migration
create unique_index(:seasons_teams,[:season_id,:team_id],name: :seasons_teams_season_id_team_id_index)
# In the changeset function
cast(season_team,params,[:season_id])
|> unique_constraint(:season_id,name: :seasons_teams_season_id_team_id_index)
文本区域的ID为#clientinfo,它会自动生成。
这是烧瓶中的表格代码:
{% extends "base.html" %}
{% block content %}
<script src="https://cdn.tiny.cloud/1/removedkey/tinymce/5/tinymce.min.js" referrerpolicy="origin"></script>
<!-- <script src="{{ url_for('static',filename='tinymce/tinymce.min.js') }}"></script> -->
<script>
tinymce.init({
selector: '#clientinfo',height: 500,menubar: false,plugins: [
'advlist lists charmap print preview hr anchor pagebreak spellchecker','searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime nonbreaking','save table contextmenu directionality template paste textcolor codesample'
],toolbar: 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link | print preview media fullpage | forecolor backcolor | codesample',codesample_languages: [
{text: 'HTML/XML',value: 'markup'},{text: 'JavaScript',value: 'javascript'},{text: 'CSS',value: 'css'},{text: 'Processing',value: 'processing'},{text: 'Python',value: 'python'}
content_css: [
'//fonts.googleapis.com/css?family=Lato:300,300i,400,400i','//www.tiny.cloud/css/codepen.min.css'
]
});
</script>
<h1>Hi,{{ current_user.name }}!</h1>
<form action="" method="post">
{{ form.hidden_tag() }}
<p>
{{ form.clientname.label }}<br>
{{ form.clientname(cols=32,rows=4) }}<br>
{% for error in form.clientname.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}
</p>
<p>
{{ form.clientss.label }}<br>
{{ form.clientss(cols=32,rows=4) }}<br>
</p>
<p>
{{ form.clientemail.label }}<br>
{{ form.clientemail(cols=32,rows=4) }}<br>
{% for error in form.clientemail.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}
</p>
<p>
{{ form.clientphone.label }}<br>
{{ form.clientphone(cols=32,rows=4) }}<br>
{% for error in form.clientphone.errors %}
<span style="color: red;">[{{ error }}]</span>
{% endfor %}
</p>
<p>
{{ form.clientaddress.label }}<br>
{{ form.clientaddress(cols=32,rows=4) }}<br>
</p>
<p>
{{ form.clientzip.label }}<br>
{{ form.clientzip(cols=32,rows=4) }}<br>
</p>
<p>
{{ form.clientcity.label }}<br>
{{ form.clientcity(cols=32,rows=4) }}<br>
</p>
<p>
{{ form.clientinfo.label }}<br>
{{ form.clientinfo(cols=32,rows=4) }}<br>
</p>
<p>
{{ form.submit() }} {{ form.cancel() }}
</p>
</form>
{% endblock %}
这是路线:
class PostForm(flaskForm):
clientname = StringField('Name',validators=[Optional()])
clientss = StringField('Social Security number',validators=[Optional()])
clientemail = StringField('Email',validators=[Optional()])
clientphone = StringField('Phone',validators=[Optional()])
clientaddress = StringField('Address',validators=[Optional()])
clientzip = StringField('ZIP',validators=[Optional()])
clientcity = StringField('City',validators=[Optional()])
clientinfo = TextAreaField('Info',validators=[Optional(),Length(max=2048)])
submit = SubmitField('Submit')
cancel = SubmitField('Cancel')