WEB APP를 개발 중이며 어느 시점에서 Polity 테이블에 새 항목을 만들고 싶습니다. 나는 몇몇 날짜를 추가해야 할 때까지 그것을 할 수 있었다. 양식이 잘못된 날짜 형식으로 인해 입력을 수락하지 않습니다.DateForm Python-Flask - [유효한 날짜 값 ']이 아닙니다.
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(),))
submit = SubmitField('Add Politician', validators=(validators.Optional(),))
하지만 내 양식이 의 startDate 필드 나 endDate가 필드의 유효성을 검사 할 수있는 권리 때문에 어떻게 든 DateField 구성 밤은 .. 그것으로
을 살펴 봅시다 나는이 양식을 가지고있다. 이 내 생성 기능입니다 :
@app.route("/create_politician", methods=["GET", "POST"])
@login_required
def create_politician():
form = PoliticForm()
if request.method == "POST":
print form.validate()
flash(form.errors)
if form.validate() == False:
return render_template('createPolitician.html', form=form)
else:
print form.startDate.data
newpolitician = Politic(form.publicName.data, form.completeName.data, form.startDate.data, form.endDate.data)
print form.startDate.data
db.session.add(newpolitician)
db.session.commit()
return redirect(url_for('home'))
elif request.method == "GET":
return render_template("createPolitician.html", form=form)
그 플래시에
(form.errors)내가 얻을 다음은 :
{ '의 startDate': [ '정치인의 시작을 입력하십시오 날짜 ','endDate가. '[u'Not 유효한 날짜 값']}
models.py
class Politic(db.Model):
__searchable__ = ['publicName', 'completeName']
__tablename__ = 'politics'
idPolitician = db.Column(db.Integer, primary_key=True)
publicName = db.Column(db.String(150))
completeName = db.Column(db.String(300))
startDate = db.Column(db.Date)
endDate = db.Column(db.Date)
def __init__(self, publicName, completeName, startDate, endDate):
self.publicName = publicName.title()
self.completeName = completeName.title()
.html 중에서
<form method="POST" action="/create_politician">
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.publicName.label }}
{{ form.publicName }}
</div>
<div class="form-group">
{{ form.completeName.label }}
{{ form.completeName }}
</div>
<div class="form-group">
{{ form.startDate.label }}
{{ form.startDate }}
</div>
<div class="form-group">
{{ form.endDate.label }}
{{ form.endDate }}
</div>
{{ form.submit(class="btn-primary") }}
</form>
어떤 생각은 잘못된 것입니다. 양식에서 요구하는 것과 일치시키기 위해 날짜 입력을 형식화하는 방법이 있습니까?
당신안부