Я разрабатываю веб-приложение Python-Flask, которое должно работать как википедия для политиков. Когда я создаю нового политика, он помечается как проект по умолчанию, который может быть принят участником с более высоким рейтингом. Поэтому, когда я создаю страницу с политиками, это проверено в качестве черновика, и когда администратор принимает эту черновик, значение составляет значение равно false. Я хотел бы знать, как я пометить/снять флажок на основе значения столбца атрибута черновик, который является boolean (True/False). Затем я хочу изменить его на основе результата моей формы. Это функция редактирования, как вы увидите:Импортировать значение флажка из базы данных
Это мой Политик форма, один я использую для редактирования:
class PoliticForm(FlaskForm):
publicName = StringField('Public Name', validators=[DataRequired("Please enter politician public name.")])
completeName = StringField('Complete Name', validators=[DataRequired("Please enter politician complete name.")])
startDate = DateField('Start Date', format='%m-%d-%Y', validators=[DataRequired("Please enter the politician start Date.")])
endDate = DateField('End Date', format='%m-%d-%Y', validators=(validators.Optional(),))
draft = RadioField('Draft', choices=[(True,'Yes'),(False,'No')],)
submit = SubmitField('Add Politician', validators=(validators.Optional(),))
И я хочу, чтобы проверить, что проект строки на моем HTML jinja2 зрения , который:
<div class="form-group">
<label for="draft">Draft</label>
<input type="checkbox" name="draft" class="form-control" id="email" value="{{politician.draft}}">
</div>
мне нужно использоваться проверил ли в параметре? Как я могу отметить, что это True и снять флажок, если его False, а затем отправить это изменение на мой контроллер?
политики/views.py/edit_politician
@politicians_blueprint.route("/edit_politician/<idPol>", methods=["POST", "GET"])
@login_required
def edit_politician(idPol=1):
form = PoliticForm()
politician = Politic.query.filter_by(idPolitician=idPol).first()
if request.method == "POST":
politician.publicName = request.form['publicName']
politician.completeName = request.form['completeName']
politician.draft = request.form['draft']
if request.form.get('date') != 'None':
politician.startDate = datetime.datetime.strptime(request.form.get('date'), '%m/%d/%Y').strftime('%Y-%m-%d')
print politician.startDate
if request.form.get('date2') != 'None':
politician.endDate = datetime.datetime.strptime(request.form.get('date2'), '%m/%d/%Y').strftime('%Y-%m-%d')
print politician.endDate
db.session.commit()
return redirect(url_for('home.home'))
elif request.method == "GET":
print politician.startDate
if politician.startDate is not None:
dateStart = politician.startDate.strftime("%Y-%m-%d")
politician.startDate = datetime.datetime.strptime(dateStart, '%Y-%m-%d').strftime('%m/%d/%Y')
if politician.endDate is not None:
dateEnd = politician.endDate.strftime("%Y-%m-%d")
politician.endDate = datetime.datetime.strptime(dateEnd, '%Y-%m-%d').strftime('%m/%d/%Y')
return render_template("editPolitician.html", politician=politician)
Любые идеи? Я действительно борется с этим ..
С уважением