flask 的簡單拆分公升級版2

2022-06-25 14:00:20 字數 3001 閱讀 5680

#建立manage.py

from flask_script import manager

if __name__ == '__main__':

manage.run()

#建立__init__.py檔案

from flask import

flask

settings

init_info

blue

載入藍圖

#flask擴充套件包的配置資訊##

###

return

#url 統一資源定位符

#uri 統一資源識別符號

#建立settings.py檔案

# 關於咱們的四個生產環境

# 開發環境 測試環境 演示環境 線上環境

#針對mysql的資料庫配置,可以呼叫沒有寫死

def get_database_url(info):

name = info.get('name') or 'mysql'

username = info.get('username') or 'root'

password = info.get('password') or 'youpassword'

host = info.get('host') or 'localhost'

port = info.get('port') or '3306'

driver = info.get('driver') or 'pymysql'

database = info.get('database') or 'flask3'#換成自己的資料庫

return '{}+{}://{}:{}@{}:{}/{}'.format(name,driver,username,password,host,port,database)

#配置資訊類也可以說是線上環境

class config():

debug = false#預設除錯模式關閉

testing = false#測試模式關閉

secret_key = '123'#金鑰

session_type = 'redis'#session儲存型別

#開發環境

class developconfig(config):

debug = true

testing = true

database =

# 鏈結資料庫的url

sqlalchemy_database_uri = get_database_url(database)

#測試環境

class testconfig(config):

testing = true

database =

sqlalchemy_database_uri = get_database_url(database)

#演示環境

class showconfig(config):

database =

sqlalchemy_database_uri = get_database_url(database)

#生產環境

class workconfig(config):

database =

sqlalchemy_database_uri = get_database_url(database)

#封裝四個開發環境

config_info =

#建立views.py檔案

from flask import blueprint#匯入藍圖模組

blue=blueprint('first',__name__)#建立藍圖

@blue.route('/')#路由

def hello_world():

return 'hello world!'

#建立資料庫

@blue.route('/createall/')

def create_all():

db.create_all()

return '資料庫建立成功'

#新增資料庫資訊

@blue.route('/addcity/')

def add_city():

city=city()

city.c_name='鄭州'

city.c_age= 3500

db.session.add(city)

db.session.commit()

return '資料新增成功'

#刪除資料

@blue.route('/dropall/')

def drop_all():

db.drop_all()

return '資料刪除成功'

#獲取所有資訊

@blue.route('/getall/')

def get_all():

city=city.query.all()

print(city)

print(type(city))

return '資料查詢成功'

#建立modles.py檔案

class city(db.model):

c_id = db.column(db.integer, primary_key=true, autoincrement=true)

c_name = db.column(db.string(32))

c_age = db.column(db.integer)

#建立ext.py檔案

from flask_session import session

from flask_sqlalchemy import sqlalchemy

#第三庫都在這載入

sess=session()#載入session

db=sqlalchemy()#載入sqlalchemy

已測試都能成功

flask 的簡單拆分

建立結構如圖 自己去調整 if name main manage.run 建立新檔案 init py 以下 是裡面的內容 from flask import flask blue def 載入藍圖 建立views.py檔案 import uuid from flask import blueprin...

RBAC許可權管理 簡單版與公升級版

rbac是基於角色的訪問控制 role based access control 在rbac 中,角色 選單是基本的元件。所有的許可權都是基於他們2個的,如果時間充裕,完全可以寫個更複雜的全面的控制。下面有幾個簡單的rbac系統介紹 這個優化版可以對使用者的url進行管理了。開發思路 role 角色...

多平台公升級版 2 Makefile

多平台公升級版 2 makefile 一 目錄一覽 6 directories,19 files 二 makefile檔案詳情 1.頂層makefile user 多平台公升級版 2 makefile cat makefile ifeq arch arch i386 endif topdir she...