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 =" + 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'
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( )
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>