datetime.date,는 I가 SQLAlchemy에 사용하고 등 I 물 빌 전기 빌 같이 지폐를 나타내는 객체에 대한 침전물의 계면을 요리있어
와 WTForms 형태 개체 채우기 데이터를 처리하고, 폼을 처리하기 위해 wtform을 처리하고, 서비스를 제공하는 플라스크를 생성합니다. , wtforms를 사용
@app.route('/edit_bill/<int:bill_id>', methods = ['GET'])
def edit_bill(bill_id):
s = Session()
bill = s.query(Bill).filter_by(id=bill_id).first()
form = BillForm(obj=Bill)
return render_template('edit_bill.html', form = form)
, 내가 BillForm 생성자에 법안 객체를 전달하는 법안을 나타내는 데이터를 편집 할 것을 보장 :
는 여기에 기존 법안을 편집 형태를 제공처럼 내 경로가 어떻게 표시되는지를 보여줍니다 양식에 채워집니다.
여기가 질식하는 곳입니다. 여기에 예외는 다음과 같습니다
AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object associated with Bill.date_due has an attribute 'strftime'
을 지금, 나는 파이썬 쉘에 담근 date_due가하는 것입니다 그것에 datetime.date
목적을 가지고 있는지 확인하기 위해 법안을 조회했습니다. Jinja를 사용하여 프런트 엔드를 구축 했으므로 템플릿 필터를 만드는 방법을 살펴 보았지만 wtform과 함께 작동하는 방법을 모르며 sqlalchemy가 질식하는 것처럼 보입니다.
그래서 어떻게됩니까? 나는 단지 그 문자열을 datetime.date
객체로 변환하는 방법을 알아야 할 필요가 있다고 확신하지만, 그것에 대해 어떻게 해야할지 잘 모르겠습니다.
하프. 감사!
편집 :
class BillForm(Form):
id = HiddenField()
name = TextField(u'Name:', [validators.required()])
pay_to = TextField(u'Pay To:',[validators.required()])
date_due = DateField(u'Date Due:',[validators.required()])
amount_due = IntegerField(u'Amount Due:', [validators.required()])
date_late = DateField(u'Late After:',[validators.required()])
amount_late = IntegerField(u'Late Amount:', [validators.required()])
date_termination = DateField(u'Termination Date:',[validators.required()])
및 매핑 클래스, 너무 : 다음은 BillForm 클래스의
class Bill(Base):
__tablename__ = 'bills'
id = Column(Integer, primary_key=True)
name = Column(String)
pay_to = Column(String)
amount_due = Column(Integer)
date_due = Column(Date)
amount_late = Column(Integer)
date_late = Column(Date)
date_termination = Column(Date)
def __init__(self, name, pay_to, amount_due, date_due, amount_late, date_late, date_termination):
self.name = name
self.pay_to = pay_to
self.amount_due = amount_due
self.date_due = date_due
self.amount_late = amount_late
self.date_late = date_late
self.date_termination = date_termination
def __repr__(self):
return "<Bill ('%s', '%s', '%s', '%s')>" % (self.name, self.pay_to, self.amount_due, self.date_due)
양식 코드가 표시 될 수 있습니까? –