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

首頁 > 編程 > Python > 正文

python之Flask實現簡單登錄功能的示例代碼

2020-02-16 00:16:36
字體:
來源:轉載
供稿:網友

網站少不了要和數據庫打交道,歸根到底都是一些增刪改查操作,這里做一個簡單的用戶登錄功能來學習一下Flask如何操作MySQL。

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

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

以下是項目的整體結構圖:

首先是配置信息,配置了數據庫連接等基本的信息,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() 

數據庫配置類,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用于連接數據的數據庫。

SQLALCHEMY_ECHO如果設置成 True,SQLAlchemy 將會記錄所有 發到標準輸出(stderr)的語句,這對調試很有幫助。
當然,我們在setting中設置了基本的連接數據庫信息,啟動時加載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做登錄的表單驗證,這里簡單做了賬號密碼不為空如,當我們不填寫密碼時,點擊登錄:

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)             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 治多县| 普宁市| 泸水县| 阜新| 九寨沟县| 长治市| 马鞍山市| 新郑市| 潮安县| 广河县| 云林县| 扬州市| 博爱县| 松滋市| 虎林市| 延吉市| 青田县| 溧阳市| 芒康县| 余姚市| 武汉市| 茌平县| 舞阳县| 中阳县| 泸溪县| 砀山县| 泾川县| 岳阳市| 来宾市| 抚顺市| 临洮县| 寻乌县| 开封县| 邹城市| 方正县| 稻城县| 永宁县| 菏泽市| 昌图县| 句容市| 铁力市|