Flask:想要导入辅助函数文件

bcl*_*man 8 python flask

我正在编写一个移植基本的python脚本并创建一个类似的基本Flask应用程序.我有一个文件,包含一些我想在Flask应用程序中访问的函数.

以下是我到目前为止的观点:

from flask import render_template
from app import app

def getRankingList():
    return 'hey everyone!'


@app.route("/")
@app.route("/index")
def index():
    rankingsList = getRankingsList()
    return render_template('index.html', rankingsList = rankingsList)

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我可以访问原始脚本中的所有函数,并在我的getRankingsList()函数中使用它们.不过,我已经google了,似乎无法理清如何做到这一点.

任何的想法

clo*_*ypt 13

只需helpers.py在主烧瓶.py文件所在的目录中有另一个python脚本文件(例如).然后在主烧瓶文件的顶部,您可以import helpers通过helpers.在其之前添加(例如helpers.exampleFunction())来访问助手中的任何功能.或者您可以直接在代码中from helpers import exampleFunction使用和使用exampleFunction().或者from helpers import *直接在代码中导入和使用所有功能.


小智 7

只需像往常一样导入文件并使用其中的函数:

# foo.py

def bar():
    return 'hey everyone!'
Run Code Online (Sandbox Code Playgroud)

并在主文件中:

# main.py
from flask import render_template
from app import app
from foo import bar

def getRankingList():
    return 'hey everyone!'


@app.route("/")
@app.route("/index")
def index():
    rankingsList = getRankingsList()
    baz = bar()  # Function from your foo.py
    return render_template('index.html', rankingsList=rankingsList)

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)