flask登入註冊簡單的例子

2022-03-15 18:58:19 字數 3954 閱讀 6092

# auther: hhh5460

# time: 2018/10/05

# address: dongguan yuehua

from functools import wraps

from flask import flask, request, render_template, redirect, url_for, flash, session

from flask_sqlalchemy import sqlalchemy

from sqlalchemy import and_, or_

############################################

# 資料庫

############################################

# 定義orm

class user(db.model):

id = db.column(db.integer, primary_key=true)

username = db.column(db.string(80), unique=true)

password = db.column(db.string(80))

email = db.column(db.string(120), unique=true)

def __repr__(self):

return '' % self.username

# 建立**、插入資料

def create_db():

db.drop_all() # 每次執行,先刪除再建立

db.create_all()

admin = user(username='admin', password='root', email='[email protected]')

db.session.add(admin)

guestes = [user(username='guest1', password='guest1', email='[email protected]'),

user(username='guest2', password='guest2', email='[email protected]'),

user(username='guest3', password='guest3', email='[email protected]'),

user(username='guest4', password='guest4', email='[email protected]')]

db.session.add_all(guestes)

db.session.commit()

############################################

# 輔助函式、裝飾器

############################################

# 登入檢驗(使用者名稱、密碼驗證)

def valid_login(username, password):

user = user.query.filter(and_(user.username == username, user.password == password)).first()

if user:

return true

else:

return false

# 註冊檢驗(使用者名稱、郵箱驗證)

def valid_regist(username, email):

user = user.query.filter(or_(user.username == username, user.email == email)).first()

if user:

return false

else:

return true

# 登入

def login_required(func):

@wraps(func)

# if g.user:

if session.get('username'):

return func(*args, **kwargs)

else:

return redirect(url_for('login', next=request.url)) #

############################################

# 路由

############################################

# 1.主頁

def home():

return render_template('home.html', username=session.get('username'))

# 2.登入

def login():

error = none

if request.method == 'post':

if valid_login(request.form['username'], request.form['password']):

flash("成功登入!")

session['username'] = request.form.get('username')

return redirect(url_for('home'))

else:

error = '錯誤的使用者名稱或密碼!'

return render_template('login.html', error=error)

# 3.登出

def logout():

session.pop('username', none)

return redirect(url_for('home'))

# 4.註冊

def regist():

error = none

if request.method == 'post':

if request.form['password1'] != request.form['password2']:

error = '兩次密碼不相同!'

elif valid_regist(request.form['username'], request.form['email']):

user = user(username=request.form['username'], password=request.form['password1'], email=request.form['email'])

db.session.add(user)

db.session.commit()

flash("成功註冊!")

return redirect(url_for('login'))

else:

error = '該使用者名稱或郵箱已被註冊!'

return render_template('regist.html', error=error)

# 5.個人中心

@login_required

def panel():

username = session.get('username')

user = user.query.filter(user.username == username).first()

return render_template("panel.html", user=user)

if __name__ == '__main__':

},歡迎來到主頁! 個人中心

登出

歡迎來到主頁! 登入

註冊

}

}

姓名:}

密碼:}

簡單登入註冊例子實現redux功能

以登入存貯賬號密碼為例 actions部分 actions login.js export function updateaccount value export function updatepsw value reducers部分 reducers login.js const statedat...

物件導向示例 註冊登入例子

class user def init self self.usr info def register self print 註冊模式 center 50,usr input 請輸入使用者名稱 pwd input 請輸入密碼 if usr in self.usr info.keys print 改使...

Angular之簡單的登入註冊

使用angular實現了乙個簡單的登入註冊的功能.涉及到的angular知識點很少 主要是這個功能的實現.嘻嘻 裡面涉及到的知識點記錄 1.本地儲存的操作 localstorage 獲取本地儲存的值 window.localstorage.getitem key value 得到的資料是字串 設定本...