flask中的相关文件的配置

本文介绍了Flask框架的配置方法,包括导入Python类型如settings.py的配置文件,通过init文件初始化,以及接受JSON、XML等其他类型配置文件的方式。还探讨了在实际工作中常用的Settings.py和Init.py的配置,并提到了通过sys.argv接收外部参数的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Flask settings配置

1、导入python类型的settings配置文件

settings.py文件

init文件

2、接受其他类型的配置文件

3、通常工作当中的flask配置

Settings.py

Init.py


一、Flask settings配置

Flask 是python轻量级的web框架,所以在开发之初给我们提供了最为简单第一个开发的模式,单文件开发,他将配置定义为一个接口对象,可以接受 py文件,json文件,xml文件作为配置文件。

同时也提供了config方法,config返回一个类字典对象,我们可以像对字典一样对配置进行操作。

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

from flask_wtf.csrf import CSRFProtect

app = Flask(__name__)



app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:////Project/FlaskProject/Night/flask.db"

app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

app.config["SECRET_KEY"] = "12345678"

#app.config.update({"SECRET_KEY":"2"})

CSRFProtect(app)

db = SQLAlchemy(app)

Flask实际上配置的地方有两处,一处就是我们配置数据库,csrf这些东西的,而另一处用来配置template模板加载的路径,static加载的路径,这一处是Flask类的init的参数

def __init__(

self,

import_name, #被导入时的名称

static_url_path=None, #静态文件目录的url /static/,默认不写,但是不可以和 static_folder一样

static_folder='static', #静态文件的目录路径

static_host=None, #今天文件的host远程地址

host_matching=False, #主机范围,这个一定要慎用,如果为true,每个试图的装饰route都需要host=“”参数

subdomain_matching=False, #限制子域名

template_folder='templates', #html模板文件的路径

instance_path=None, #假如当前项目有两个app实例

instance_relative_config=False, #是否加载另外实例的配置文件

root_path=None #主实例所在目录的绝对路径

)

Flask 多样化的配置格式

1、导入python类型的settings配置文件

settings.py文件

init文件

2、接受其他类型的配置文件

app.config.from_json('json文件') #从json文件进行获取

app.config.from_mapping({"SQLALCHEMY_DATABASE_URI":"sqlite:////Project/FlaskProject/Night/flask.db"}) #从字典获取

app.config.from_object("School.settings.Test")  #从类对象中获取

3、通常工作当中的flask配置

Settings.py

import os

# basedir = os.path.dirname(__file__)
# print(basedir)


class Config:
    DEBUG = False
    SQLALCHEMY_DATABASE_URI = "sqlite:////code/flask/CompanyProject/app/flask.db"
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    SECRET_KEY = os.environ.get("SECRET_KEY") or 'hard to guess string'
    @staticmethod
    def init_app(app):
        pass

class Test(Config):
    DEBUG = True
    SQLALCHEMY_DATABASE_URI = "sqlite:////code/flask/CompanyProject/app/test.db"

class Run(Config):
    pass

config={
    "test":Test,
    "run":Run
}

Init.py

from flask import Flask

from flask_sqlalchemy import SQLAlchemy

from flask_wtf.csrf import CSRFProtect

app = Flask(__name__)

app.config.from_object("project.settings.Test")

CSRFProtect(app)

db = SQLAlchemy(app)

sys.argv 接受调用文件时候外部传递的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值