Объекты
class MyObj:
def __init__(self, data_dict):
self.id = ''
self.name = ''
self.minDescription = ''
self.descriptions = ''
class MyObjForm(Form):
name = StringField('name')
minDescription = StringField('minDescription')
descriptions = TextAreaField('descriptions')
* 1004 Технологические карты *
Это хорошая работа в режимах "POST" и "GET". Кнопка «Отправить» имеет хорошие реакции при нажатии.
@app.route("/create", methods=["GET", "POST"])
@login_required
def create():
if request.method == 'POST':
form = MyObjForm(request.form)
if form.validate():
new_obj = MyObj(request.form)
return redirect(url_for("/"))
else:
return render_template('create.html', form=form)
else:
return render_template('create.html', form=MyObjForm())
Когда я перехожу в режим «GET», мой код работает хорошо, и у просмотра старые данные объекта, но нажатие на кнопку «Отправить» не вызывает никаких реакций.
@app.route("/edit/<id>", methods=["GET", "POST"])
@login_required
def edit(id):
if request.method == 'GET':
old_obj = d.get_by_id(id)
form = MyObjForm(obj=old_obj)
return render_template('create.html', form=form, id=id)
else:
#never entry
pass
HTML 'create.html'
<form method="post" role="form">
{{ form.csrf }}
{{ macros.render_field(form.name) }}
{{ macros.render_field(form.minDescription) }}
{{ macros.render_field(form.descriptions) }}
<input class="btn special" type="submit" value="Save"/>
</form>
Я пытаюсь это:
<form method="post" role="form" action="{{ url_for('edit', id=id) }}">
и это:
class MyObjForm(Form):
id = StringField()
нет прогресса: (
Что не так?