hand
_1_1_9
4
python3.X - Web - Flask1.1.1
共46篇
python3.X - Web - Flask1.1.1
返回栏目
0k
0.3k
1k
6k
0.6k
0.8k
0.3k
0.1k
0.2k
0.8k
0.6k
0.6k
0.1k
0.5k
0.2k
2k
0.3k
5k
2k
2k
1k
0.3k
1k
0.1k
1k
1k
0.5k
2k
2k
0.7k
1k
2k
0.1k
1k
0.1k
2k
2k
0.9k
5k
4k
1k
1k
3k
1k
0k
0k
返回python3.X - Web - Flask1.1.1栏目
作者:
贺及楼
成为作者
更新日期:2024-06-13 20:21:40
作用:不用把代码都放到一个文件里,可以进行分类
baidu文件夹
|— baidu.py
|— app文件夹
—-|init.py(代表是python文件,这里算配置文件)
—-|abc.py
—-|static文件夹(静态文件)
—-|templates文件夹(html模版文件)
baidu.py
from app import create_app
app = create_app()
if __name__=='__main__':
#app.run(host='0.0.0.0',port=8000,debug=True)
#app.run(host='0.0.0.0',port=8000)
#app.run(host='127.0.0.1',port=8000,debug=True)
app.run(host='127.0.0.1',port=8000)
自己修改端口号了
baidu/app/__init__.py
#flask
from flask import Flask,session
#数据库
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(use_native_unicode='utf8mb4')#实例化SQLAlchemy和使用编码方式
from datetime import timedelta,datetime
#有的蓝图
from .abc import * #abc文件
#os随机数
import os
#创建app
def create_app():
app = Flask(__name__,static_url_path='')
#app.debug = False
app.debug = True
#app.secret_key = '123456789'#自定义的session秘钥
# 设置配置文件,XXX是数据库名字,是表的上一层数据库名字
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:@127.0.0.1:3306/XXX?charset=utf8mb4"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_ECHO'] = True
app.config["SECRET_KEY"] = os.urandom(24)
app.config['WTF_CSRF_SECRET_KEY'] = 'NameError'
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = timedelta(seconds=1) # 修改缓存时间,秒做单位
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=1) # 修改回话存活时间,秒做单位
#session过期时间
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=6)
#查看sqlalchemy执行的原始sql语句
app.config['SQLALCHEMY_ECHO'] = True
# 注册蓝图
app.register_blueprint(abc)
# 2. 注册 Flask-SQLAlchemy
db.init_app(app)
return app
#得到了一个app
#数据库-Wechatdatabase表-用户
class Wechatdatabase(db.Model):
__tablename__ = 'wechat_user001'
id = db.Column(db.Integer,primary_key=True)
openid = db.Column(db.VARCHAR(255))
nickname = db.Column(db.VARCHAR(255))
sex = db.Column(db.Integer)
province = db.Column(db.Text)
city = db.Column(db.Text)
country = db.Column(db.Text)
unionid = db.Column(db.VARCHAR(255))#微信uid
points = db.Column(db.Integer)#现在拥有的点数
success_points = db.Column(db.Integer)#成功充值点数
success_times = db.Column(db.Integer)#成功充值次数
success_total_fee = db.Column(db.Integer)#成功充值金额
orders = db.relationship('Wechatdatabaseorder',backref='nickname2')#这个用户的订单集合
#数据库-Wechatdatabaseorder表-订单
class Wechatdatabaseorder(db.Model):
__tablename__ = 'wechat_user_orders001'
id = db.Column(db.Integer,primary_key=True)#订单id
openid = db.Column(db.VARCHAR(255))
nickname = db.Column(db.VARCHAR(255))
unionid = db.Column(db.VARCHAR(255))
out_trade_no = db.Column(db.VARCHAR(255))#订单号
order_name = db.Column(db.VARCHAR(255))#订单名
state = db.Column(db.VARCHAR(255))#订单状态未付款,已付款
creat_time = db.Column(db.DateTime, default=datetime.now)#创建时间
time_end = db.Column(db.VARCHAR(14))
update_time = db.Column(db.DateTime, default=datetime.now,onupdate=datetime.now)#更新时间
total_fee = db.Column(db.Integer)#订单价格
spbill_create_ip = db.Column(db.VARCHAR(64))
Wechatdatabase_id = db.Column(db.Integer,db.ForeignKey('wechat_user001.id'))#这个系统的下单的人id
db.drop_all()
db.create_all() # 创建当前应用中声明的所有模型类对应的数据表,db.drop_all()是删除表
不要的自己注释掉吧
baidu/app/__init__.py
#flask
from flask import Flask,session
#数据库
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(use_native_unicode='utf8mb4')#实例化SQLAlchemy和使用编码方式
from datetime import timedelta,datetime
#有的蓝图
from .abc import * #abc文件
#os随机数
import os
#创建app
def create_app():
app = Flask(__name__,static_url_path='')
#app.debug = False
app.debug = True
#app.secret_key = '123456789'#自定义的session秘钥
# 设置配置文件,XXX是数据库名字,是表的上一层数据库名字
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:@127.0.0.1:3306/XXX?charset=utf8mb4"
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config['SQLALCHEMY_ECHO'] = True
app.config["SECRET_KEY"] = os.urandom(24)
app.config['WTF_CSRF_SECRET_KEY'] = 'NameError'
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = timedelta(seconds=1) # 修改缓存时间,秒做单位
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(seconds=1) # 修改回话存活时间,秒做单位
#session过期时间
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=6)
#查看sqlalchemy执行的原始sql语句
app.config['SQLALCHEMY_ECHO'] = True
#微信支付1.程序id: 2.商户号id 3.商户号钥匙 4.回调链接
app.config['WEIXIN_APP_ID'] = ''
app.config['WEIXIN_APP_MCH_ID'] =''
app.config['WEIXIN_APP_MCH_KEY'] =''
app.config['WEIXIN_NOTIFY_URL'] ='artchips.art'
# 注册蓝图
app.register_blueprint(abc)
# 2. 注册 Flask-SQLAlchemy
db.init_app(app)
return app
#得到了一个app
#数据库-Wechatdatabase表-用户
class Wechatdatabase(db.Model):
__tablename__ = 'wechat_user001'
id = db.Column(db.Integer,primary_key=True)
openid = db.Column(db.VARCHAR(255))
nickname = db.Column(db.VARCHAR(255))
sex = db.Column(db.Integer)
province = db.Column(db.Text)
city = db.Column(db.Text)
country = db.Column(db.Text)
unionid = db.Column(db.VARCHAR(255))#微信uid
points = db.Column(db.Integer)#现在拥有的点数
success_points = db.Column(db.Integer)#成功充值点数
success_times = db.Column(db.Integer)#成功充值次数
success_total_fee = db.Column(db.Integer)#成功充值金额
orders = db.relationship('Wechatdatabaseorder',backref='nickname2')#这个用户的订单集合
#数据库-Wechatdatabaseorder表-订单
class Wechatdatabaseorder(db.Model):
__tablename__ = 'wechat_user_orders001'
id = db.Column(db.Integer,primary_key=True)#订单id
openid = db.Column(db.VARCHAR(255))
nickname = db.Column(db.VARCHAR(255))
unionid = db.Column(db.VARCHAR(255))
out_trade_no = db.Column(db.VARCHAR(255))#订单号
order_name = db.Column(db.VARCHAR(255))#订单名
state = db.Column(db.VARCHAR(255))#订单状态未付款,已付款
creat_time = db.Column(db.DateTime, default=datetime.now)#创建时间
time_end = db.Column(db.VARCHAR(14))
update_time = db.Column(db.DateTime, default=datetime.now,onupdate=datetime.now)#更新时间
total_fee = db.Column(db.Integer)#订单价格
spbill_create_ip = db.Column(db.VARCHAR(64))
Wechatdatabase_id = db.Column(db.Integer,db.ForeignKey('wechat_user001.id'))#这个系统的下单的人id
db.drop_all()
db.create_all() # 创建当前应用中声明的所有模型类对应的数据表,db.drop_all()是删除表
#蓝图
from flask import Blueprint
from flask import Flask, jsonify, request, url_for,render_template,flash,make_response
#真正的数据库
from app import db
#导入tables类-所有表
# from app.abc2 import *
import re
abc = Blueprint('abc',__name__)
#路由1
@abc.route("/", methods=['GET','POST'])
def hello_flask():
print("1")
return "1"
# 路由2
@abc.route("/qqq", methods=['GET','POST'])
def qqq():
print("1")
return "1"
python3.X - Web - Flask1.1.1
整章节共46节
快分享给你的小伙伴吧 ~