flask-sqlalchemy实例

from flask import Flask,render_template_string,request,redirect
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
db = SQLAlchemy(app)

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username
db.drop_all()
db.create_all()
admin = User('admin', 'admin@example.com')
guest = User('guest', 'guest@example.com')
db.session.add(admin)
db.session.add(guest)
db.session.commit()
#users = User.query.all()
#print(users)
#admin = User.query.filter_by(username='admin').first()
#print(admin)
@app.route('/user/show/<username>')
def show_user(username):
    user = User.query.filter_by(username=username).first_or_404()
    return render_template_string('''姓名:{{user.username}}<br>
         电子邮件:{{user.email}}
         '''
   , user=user)
    #return user
@app.route('/user/list')
def list_user():
    users=User.query.all()
    return render_template_string('''
        <table border="1"><tr><td>用户名</td><td>电子邮件</td></tr>
        {% for user in users %}
        <tr><td>{{user.username}}</td><td>{{user.email}}</td></tr> 
        {% endfor%}
        </table
        ''' ,users=users)
@app.route('/user/add')
def add_user():
    # /user/add?username=yangjing&email=772890@qq.com
    if request.args.get('username'):
        username=request.args.get('username')
        email=request.args.get('email')
        db.session.add(User(username,email))
        db.session.commit()
        return redirect('/user/list')
    else:
        return '''<form action="/user/add" method="get">
             用户名:<input type="text" name="username"/><br>
             电子邮件:<input type="text" name="email"/><br>
             <input type="submit" value="提交"/><br>
            </form>
            '''
@app.route('/user/delete/<username>')
def delete_user(username):
    User.query.filter(User.username==username).\
    delete()
    db.session.commit()
    return redirect('/user/list')

if __name__=='__main__':
    app.run(debug=True)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值