国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python使用Flask操作mysql實現(xiàn)登錄功能

2020-02-23 00:07:42
字體:
供稿:網(wǎng)友

用到的一些知識點:Flask-SQLAlchemy、Flask-Login、Flask-WTF、PyMySQL

這里通過一個完整的登錄實例來介紹,程序已經(jīng)成功運行,在未登錄時攔截了success.html頁面跳轉(zhuǎn)到登錄頁面,登錄成功后才能訪問success。

以下是項目的整體結(jié)構(gòu)圖:

 

首先是配置信息,配置了數(shù)據(jù)庫連接等基本的信息,config.py

DEBUG = True SQLALCHEMY_ECHO = False SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:1011@localhost/rl_project?charset=utf8' SECRET_KEY = '*/xff/x93/xc8w/x13/x0e@3/xd6/x82/x0f/x84/x18/xe7/xd9//|/x04e/xb9(/xfd/xc3'common/_init_.py# config=utf-8 from flask_sqlalchemy import SQLAlchemy __all__ = ['db'] db = SQLAlchemy()

數(shù)據(jù)庫配置類,common/data.py

# config=utf-8 from sqlalchemy import create_engine from sqlalchemy.sql import text from config import SQLALCHEMY_DATABASE_URI, SQLALCHEMY_ECHO def db_query(sql, settings=None, echo=None):  if settings is None:   settings = SQLALCHEMY_DATABASE_URI  if echo is None:   echo = SQLALCHEMY_ECHO  return create_engine(settings, echo=echo).connect().execute(text(sql)).fetchall() def db_execute(sql, settings=None, echo=None):  if settings is None:   settings = SQLALCHEMY_DATABASE_URI  if echo is None:   echo = SQLALCHEMY_ECHO  return create_engine(settings, echo=echo).connect().execute(text(sql)).rowcount

SQLALCHEMY_DATABASE_URI用于連接數(shù)據(jù)的數(shù)據(jù)庫。

SQLALCHEMY_ECHO如果設(shè)置成 True,SQLAlchemy 將會記錄所有 發(fā)到標(biāo)準(zhǔn)輸出(stderr)的語句,這對調(diào)試很有幫助。

當(dāng)然,我們在setting中設(shè)置了基本的連接數(shù)據(jù)庫信息,啟動時加載app = create_app('../config.py'),所以這個類刪掉也不會報錯。

form/login_form.py

# config=utf-8 from flask_wtf import FlaskForm as Form from wtforms import StringField, PasswordField from wtforms.validators import DataRequired class LoginForm(Form):  accountNumber = StringField('accountNumber', validators=[DataRequired('accountNumber is null')])  password = PasswordField('password', validators=[DataRequired('password is null')])

使用Flask-WTF做登錄的表單驗證,這里簡單做了賬號密碼不為空

如,當(dāng)我們不填寫密碼時,點擊登錄:

 

model/_init_.py

# config=utf-8 from flask import Flask from flask_login import LoginManager from common import db login_manager = LoginManager() login_manager.login_view = "user.login" def create_app(config_filename=None):  app = Flask(__name__)  login_manager.init_app(app)  if config_filename is not None:   app.config.from_pyfile(config_filename)   configure_database(app)  return app def configure_database(app):  db.init_app(app)            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高密市| 武城县| 灵寿县| 株洲县| 瓮安县| 乌拉特前旗| 微博| 麻阳| 扶沟县| 和硕县| 安义县| 昌乐县| 宁德市| 临湘市| 贡嘎县| 延长县| 宜川县| 汉源县| 社旗县| 栾城县| 和硕县| 丽水市| 雅江县| 博客| 濮阳县| 丰县| 杂多县| 永康市| 江门市| 西丰县| 江西省| 鹤岗市| 布拖县| 南昌市| 崇阳县| 万宁市| 内丘县| 铅山县| 健康| 高唐县| 宜章县|