资讯专栏INFORMATION COLUMN

初识flask和flask blueprint

galois / 2770人阅读

摘要:对象不是全局对象因此你可以进行一些操作可以给给定前缀。的使用实例化一个蓝图对象导入该对象的视图在应用的初始化里导入蓝图注册蓝图如果指定前缀实例化对象通过类定义的使用配置连接数据库地址实例化一个对象表名定义路由路由指向

Flask

python轻量级的web应用框架

一个简单的Flask应用程序
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "
Hello Flask
" if __name__ == "__main__": app.run()
flask Blueprint(蓝图)

参考文档:蓝图之旅

flask Blueprint让你的应用可以组件化,提高代码的松耦性,提高复用性,他的作用主要有几点

让你的应用可以组件化,不用仅仅写在一个py文件里。

Blueprint对象不是app全局对象,因此你可以进行一些操作

可以给url给定前缀。

根据url来加载视图函数。

Blueprint的使用

from flask import Blueprint

# 实例化一个蓝图对象
admin = Blueprint("admin",__name__)
# 导入该对象的视图
import app.admin.views
# 在web应用的初始化里
from flask import Flask

app = Flask(__name__)
app.debug = True

# 导入蓝图
from app.admin from admin as admin_blueprint

# 注册蓝图
app.register_blueprint(admin)
# 如果指定url前缀
app.register_blueprint(admin, url_prefix="/admin")
flask-sqlalchemy
实例化sqlalchemy对象,通过Model类定义
flask-sqlalchemy的使用
form flask import Flask
from flask-sqlalchemy import SQLAlchemy
import datetime

app = Flask(__name__)
# 配置连接数据库地址
app.config["SQLALCHEMY_DATABASE_URL"] = ""
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True

实例化一个SqlAlchemy对象
db = SQLAlchemy(app)

class User(db.Model):
    __tablename__ = "user"   #表名
    id = db.Column(db.Integer,primary_key = True)
    name = db.Column(db.String(200),unique = True)
    info = db.Column(db.text)
    addtime = db.Column(db.DateTime,index = True, default = datetime.utcnow 
定义路由
@home.route("/")
def index():
    return render_template("home/index.html")

# 路由指向
url_for("static",filename)

{% entends "home/home.html" %}

{% block content %}

{% endblock %}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42230.html

相关文章

  • [翻译] Flask Blueprints---Explore Flask

    摘要:王小波说翻译最见一个人的文学功底,现在相信了。杀手级的使用场景是将应用程序拆分成不同的组件。模版视图和静态文件分别放在不同的目录下按照当前网站的相关业务进行区分。 王小波说翻译最见一个人的文学功底,现在相信了。如果完全按照自己的话组织,总是能适应自己的习惯,相对来说写起来可能更为流畅。但是翻译,即便清楚的理解了作者的意思,往往还要同时考虑原文的结构,反倒表达不清楚。对于能力欠佳的我,暂...

    Charles 评论0 收藏0
  • flask之三:视图高级

    摘要:视图高级和这个方法是用来添加与视图函数的映射。小例子如下请求上下文的定义,结合类视图之前我们接触的视图都是函数,所以一般简称视图函数。 视图高级 app.route和app.add_url_rule app.add_url_rule app.add_url_rule(/list/,endpoint=myweb,view_func=my_list) 这个方法是用来添加url与视图函数...

    hot_pot_Leo 评论0 收藏0
  • flask之三:视图高级

    摘要:视图高级和这个方法是用来添加与视图函数的映射。小例子如下请求上下文的定义,结合类视图之前我们接触的视图都是函数,所以一般简称视图函数。 视图高级 app.route和app.add_url_rule app.add_url_rule app.add_url_rule(/list/,endpoint=myweb,view_func=my_list) 这个方法是用来添加url与视图函数...

    RancherLabs 评论0 收藏0
  • flask之三:视图高级

    摘要:视图高级和这个方法是用来添加与视图函数的映射。小例子如下请求上下文的定义,结合类视图之前我们接触的视图都是函数,所以一般简称视图函数。 视图高级 app.route和app.add_url_rule app.add_url_rule app.add_url_rule(/list/,endpoint=myweb,view_func=my_list) 这个方法是用来添加url与视图函数...

    xumenger 评论0 收藏0
  • 关于flask蓝图

    摘要:注册静态路由和应用对象不同,蓝图对象创建时不会默认注册静态目录的路由。 首选:flask蓝图是什么? flask运行web程序的运行是通过实例化对象app.run()来运行的,那么会出现在一个.py文件里面定义很多的视图函数,即不方便代码管理,又不利于后期的维护.所以在flask出现了蓝图(Blueprint),可以使程序模块化,就像django的一个个模块一样来独立编程。那么这个蓝图...

    Lsnsh 评论0 收藏0

发表评论

0条评论

galois

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<