【发布时间】:2015-01-17 00:36:36
【问题描述】:
APP 代码:数据库中没有条目,我是 Flask 的新手,我无法连接到数据库并进入它,我很困惑我的代码根本就是对了
from flask import *
from wtforms import *
from wtforms.validators import Required
from flask.ext.wtf import Form
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.secret_key = 'MY CSI FORM'
branch_choices = [('CSE','CSE'),('ECE','ECE'),('MEC','MEC'),('CIVIL','CIVIL')]
year_choices = [('1st','1st'),('2nd','2nd'),('3rd','3rd'),('4th','4th')]
cmem_choices = [('Yes','Yes'),('No','No')]
class CSIForm(Form):
er = IntegerField('Enrollment No',validators=[Required()])
name = StringField('Name', validators=[Required()])
branch = SelectField('Branch',choices=branch_choices, validators=[Required()])
year = SelectField('Year',choices=year_choices, validators=[Required()])
cmem = SelectField('CSI Member',choices=cmem_choices,validators=[Required()])
sop = TextAreaField('Statement of Purpose', validators=[Required()])
submit = SubmitField('Submit')
数据库代码:SQLAlchemy 中创建数据库的代码不知道其正确与否
db = SQLAlchemy(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/test.db'
class CSI(db.Model):
__tablename__ = 'form'
er = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(30))
branch = db.Column(db.String(3))
year = db.Column(db.String(3))
cmem = db.Column(db.String(3))
sop = db.Column(db.String(50))
def __init__(self, er, name, branch, year, cmem, sop):
self.er = er
self.name = name
self.branch = branch
self.year = year
self.cmem = cmem
self.sop = sop
def connect_db():
db.create_all()
应用运行和连接
@app.route('/', methods=['GET', 'POST'])
def index():
form=CSIForm(request.form)
connect_db()
if form.validate_on_submit():
csi = CSI()
form.populate_obj(csi)
flash('Thanks for registering')
return render_template('form.html',form=form)
if __name__ == "__main__":
app.debug='True'
app.run()
【问题讨论】:
标签: python flask flask-sqlalchemy