flask模块化

2020-07-28  本文已影响0人  AndyDennisRob

前言

如果我们每个项目都把逻辑,视图处理都放在app.py上,那维护起来将会是一个噩梦。

例子

项目结构

app.py负责运行项目

from view import app


if __name__ == '__main__':
    app.run()


view.py负责处理视图

from flask import Flask
import logic

app = Flask(__name__)


@app.route('/')
def home_page():
    home_data = logic.get_home()
    return home_data


@app.route('/books')
def books():
    books_data = logic.get_books()
    return books_data


@app.route('/book/<string:book_id>')
def book(book_id):
    book_data = logic.get_book(book_id)
    return book_data


@app.route('/students')
def students():
    students_data = logic.get_students()
    return students_data


@app.route('/student/<string:student_id>')
def student(student_id):
    student_data = logic.get_student(student_id)
    return student_data




导入的logic模块是来自logic.py的。一个文件为一个模块。

def get_home():
    """
    获取图书馆主页资料,一般是读取数据库或者缓存系统
    """
    return 'data of home page'


def get_books():
    """
    获取图书馆所有书的列表, 一般是读取缓存系统
    """
    return 'list of books basic info'


def get_book(book_id):
    """
    获取一本书的详细信息,一般是读数据库,如果数据比较热门的话,一般可以读取缓存系统
    """
    return 'detailed info of book : {}'.format(book_id)


def get_students():
    """
    获取学生列表,一般是读取数据库
    """
    return 'list of students basic info'


def get_student(student_id):
    """
    获取某一个学生的详细信息,一般是读取数据库
    """
    return 'detailed info of student : {}'.format(student_id)
上一篇 下一篇

猜你喜欢

热点阅读