#setting文件代码
class DebugConfig(object):
DEBUG = True
SECRET_KEY = "@3#!!#!<EL#"
PERMANENT_SESSION_LIFETIME = 3600
SESSION_COOKIE_NAME = "I am DEBUG seesion"
OLD = "OLD"
BOY = "BOY"
class TestConfig(object):
TESTING = True
SECRET_KEY = "我是一个生产环境的加密密钥"
PERMANENT_SESSION_LIFETIME = 15
SESSION_COOKIE_NAME = "TestConfig"
OLD = "OLDS"
BOY = "BOYS"
#初始化实例化参数
#Flask对象配置
from flask import Flask,render_template,send_file,session
import os
#比如模版存放路径名字起错了不是templates的话,我们又不想将错误的模版名字更正,我们可以在初始化中重新指定模版路径、这样就可以了
#static_folder默认存放静态文件文件夹static,static_folder可以更改静态文件存放目录.
#默认值是static_url_path是我们访问改文件的url路径
app = Flask(__name__,template_folder="templates",static_folder="image",static_url_path="/image")
# app.debug=True
# # app.config={}
# #DEBUG:编辑代码,自动重启,Log信息最低。错误信息透传
# #TESTING无限接近与线上环境,不会自动重启,Log信息info及以上。错误信息透传
# #SECRET_KEY密钥,开启seesion需要配置它
# app.config['SECRET_KEY']="@3#!!#!<EL#" #这个和app.secret_key效果都一样。但是app.config['SECRET_KEY']="@3#!!#!<EL#"这个格式效率高,编码麻烦。
# # app.secret_key="!@#$%^"
# #seesion的生命周期
# app.config['PERMANENT_SESSION_LIFETIME']=15 #单位是秒
# #SESSION_COOKIE_NAME存放在cookie浏览器中seesion的名称,可以修改seesion名称。
# app.config['SESSION_COOKIE_NAME']="I am not seesion"
# 通过配置文件切换测试或者生产环境的配置。from_object这个方法需要传进去一个对象,配置文件中类的属性需要和需要配置的config的属性名称一致。
from flsakdemo1.setting import DebugConfig,TestConfig
app.config.from_object(DebugConfig)
# app.config.from_object(TestConfig)
my_static_folder="image"
my_static_url_path=None
if not my_static_url_path:
my_static_url_path=f"/{my_static_folder}"
@app.route("/x")
def x():
#开启一个seesion,第一个字符绝对不能是空格,有空格的话序列话拿不到seesion
session["user"]="123123"
print(session.get("user"))
return render_template("hom01.html")
@app.route(f"/{my_static_url_path}/<filename>")
def look4(filename):
file_path = os.path.join(my_static_folder,filename)
return send_file(file_path)
if __name__ == '__main__':
app.run()