Flask Bootstrap #2 - MVC架构

Reference

  • https://medium.com/%E5%B7%A5%E7%A8%8B%E9%9A%A8%E5%AF%AB%E7%AD%86%E8%A8%98/%E4%BD%BF%E7%94%A8-python-flask-%E5%BB%BA%E7%AB%8B%E7%B6%B2%E7%AB%99-353e449a9bc8

1 MVC架构

Flask Boostrap #1 - 安装Flask 透过 @app.route() 建立路由是 flask API 常见的手法,但我们要做的是网页,需要更完整的框架,所以使用 MVC 架构来整理我们的目录。

MVC 框架详细可以自行学习,大家只要知道,MVC 就是把 main.py 里面的东西拆出来,不要让一个 Py 档塞一堆东西,并且把 html、css、Js、程式函数丢到该属于它们的位置,让整个结构看起来更整齐。

把现在的资料夹结构:

+---myweb
|   |   main.py

改成下面的MVC架构,并新增 3 个 Py 档及两个空资料夹 statictemplates

+---myweb
|   |   main.py
|   +---app
|       |   route.py
|       |   __init__.py
|       +---static
|       +---templates

3 个 Py 档修改如下:

  • main.py

    from flask import Flask
    from app import create_app
    
    app = create_app()
    
    if __name__ == "__main__":
        app.run(debug=True, port=8000)
    
  • route.py

    def hello_world():
        return "Hello, MVC框架!"
    
  • __init__.py

    from flask import Flask
    from app.route import hello_world
    
    def create_app():
        app = Flask(__name__)
        app.add_url_rule('/hello_world', 'hello_world', hello_world)
        return app
    
    • add_url_rule 参数说明
      • rule: URL 路径,例如 ‘/hello’。
      • endpoint: 视图函数的名称,可以是字符串,通常与视图函数同名。
      • view_func: 视图函数本身,这里是 hello。

从上面可以看到,我们把原本的 @app.route() 分离出 2 个 Py 档,一个是 __init__.py,建立 url 及 route 关联。一个是 route.py 建立网页的后端函数。

这样就能达到最简单的前后端分离了,重新运行 main.py ,并手动跳转到 /hello_world,网页运行正常

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值