python 数据库DB简单操作 游标 SQLAlchemy

1.基本demo 使用游标
import MySQLdb
conn = MySQLdb.connect("localhost","root","","test")
cur = conn.cursor()
def insert(username,password):
   sql = "insert into user (username,password) values ('%s','%s')" %(username,password)
   cur.execute(sql)
   conn.commit()
   conn.close()
def isExisted(username,password):
   #sql="select * from user where username ='%s' and password ='%s'" %(username,password)
   sql="select * from user where username ="+username+" and password ="+password
   cur.execute(sql)
   result = cur.fetchall()
   if (len(result) == 0):
      return False
   else:
      return True
2.SQLAlchemy
model.py

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost/test'
#####mysql://username:password@hostname/database
db = SQLAlchemy(app)
class User(db.Model):
  id = db.Column(db.Integer,primary_key=True)
  username = db.Column(db.String(32),unique=True)
  password = db.Column(db.String(32))
  def __init__(self,username,password):
     self.username = username
     self.password = password
  def add(self):
     try:
        db.session.add(self)
        db.session.commit()
        return self.id
     except Exception,e:
        db.session.rollback()
        return e
     finally:
        return 0
  def isExisted(self):
     itemUser=User.query.filter_by(username=self.username,password=self.password).first()

#查询所有 User.query.filter_by().all()->list

     if itemUser is None:
        return 0
     else:
        return 1

main.py:

from flask import Flask
from flask import request
from flask import render_template
from flask import redirect
from model import *
app=Flask(__name__)
from wtforms import Form,TextField,PasswordField,validators
class LoginForm(Form):
  username = TextField("username",[validators.Required()])
  password = PasswordField("password",[validators.Required()])
@app.route("/register",methods=['GET','POST'])
def register():
  myForm=LoginForm(request.form)
  if request.method=='POST':
     u=User(myForm.username.data,myForm.password.data)
     u.add()
     return redirect("http://www.jikexueyuan.com")
  return render_template('index.html',form=myForm)
@app.route("/login",methods=['GET','POST'])
def login():
  myForm=LoginForm(request.form)
  if request.method =='POST':
     u=User(myForm.username.data,myForm.password.data)
     if (u.isExisted()):
        return redirect("http://www.jikexueyuan.com")
     else:
        return "Login Failed"
  return render_template('index.html',form=myForm)

if __name__=="__main__":
  app.run(port=8080,debug=True)
index.html

<html>
<head></head>
<body>
  <div align="center">
  <h1>User Management</h1>
  {% if message %} {{message}} {% endif %}
  <form method="post">
     Username :{{form.username}}
     <br/>
     Password :{{form.password}}
     <br/>
     <input type="submit" value="Submit" />
     <input type="reset" value="reset" />
  </form>
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值