路由到烧瓶中的目录
route to directory in flask
我需要像这样从 flask 中的文件夹中公开一些图标:
PROJECT NAME
>> static
>> assets
>> icon-16.png
>> icon-32.png
>> icon-64.png
>> icon-80.png
>> icon-120.png
>> logo-filled.png
>> templates
>> commands.html
>> index.html
>> taskpane.html
>> app.py
我需要使 assets
可路由,这样我就可以像这样从 url 访问 png 文件:
https://pythonlinuxtest.azurewebsites.net/assets/icon-16.png
https://pythonlinuxtest.azurewebsites.net/assets/icon-32.png
https://pythonlinuxtest.azurewebsites.net/assets/icon-64.png
这是我 app.py
到目前为止的内容:
from flask import Flask
from flask import render_template
app = Flask(__name__)
# @app.route("/")
# def hello():
# return "Hello, World!"
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
我不确定如何将 assets
目录添加到 app.py 以便可以访问 png 文件。
我明白了!!但是,如果有人知道更好的方法,请告诉我。
我使用 send_file
将图片添加到 app.py
这里是全部 app.py :)
from flask import Flask
from flask import render_template
from flask.helpers import send_file
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
@app.route("/assets/icon-16.png")
def icon16():
return send_file("./static/assets/icon-16.png",mimetype='image/png')
@app.route("/assets/icon-32.png")
def icon32():
return send_file("./static/assets/icon-32.png",mimetype='image/png')
@app.route("/assets/icon-64.png")
def icon64():
return send_file("./static/assets/icon-64.png",mimetype='image/png')
@app.route("/assets/icon-80.png")
def icon128():
return send_file("./static/assets/icon-80.png",mimetype='image/png')
@app.route("/assets/logo-filled.png")
def iconlogofilled():
return send_file("./static/assets/logo-filled.png",mimetype='image/png')
如果有人知道更有效的方法,我会给您答复。谢谢
from flask import Flask
from flask import render_template
from flask.helpers import send_file
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
@app.route("/assets/<file_name>")
def get_image(file_name):
return send_file(f"./static/assets/{file_name}",mimetype='image/png')
你能试试这个吗
我需要像这样从 flask 中的文件夹中公开一些图标:
PROJECT NAME
>> static
>> assets
>> icon-16.png
>> icon-32.png
>> icon-64.png
>> icon-80.png
>> icon-120.png
>> logo-filled.png
>> templates
>> commands.html
>> index.html
>> taskpane.html
>> app.py
我需要使 assets
可路由,这样我就可以像这样从 url 访问 png 文件:
https://pythonlinuxtest.azurewebsites.net/assets/icon-16.png
https://pythonlinuxtest.azurewebsites.net/assets/icon-32.png
https://pythonlinuxtest.azurewebsites.net/assets/icon-64.png
这是我 app.py
到目前为止的内容:
from flask import Flask
from flask import render_template
app = Flask(__name__)
# @app.route("/")
# def hello():
# return "Hello, World!"
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
我不确定如何将 assets
目录添加到 app.py 以便可以访问 png 文件。
我明白了!!但是,如果有人知道更好的方法,请告诉我。
我使用 send_file
这里是全部 app.py :)
from flask import Flask
from flask import render_template
from flask.helpers import send_file
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
@app.route("/assets/icon-16.png")
def icon16():
return send_file("./static/assets/icon-16.png",mimetype='image/png')
@app.route("/assets/icon-32.png")
def icon32():
return send_file("./static/assets/icon-32.png",mimetype='image/png')
@app.route("/assets/icon-64.png")
def icon64():
return send_file("./static/assets/icon-64.png",mimetype='image/png')
@app.route("/assets/icon-80.png")
def icon128():
return send_file("./static/assets/icon-80.png",mimetype='image/png')
@app.route("/assets/logo-filled.png")
def iconlogofilled():
return send_file("./static/assets/logo-filled.png",mimetype='image/png')
如果有人知道更有效的方法,我会给您答复。谢谢
from flask import Flask
from flask import render_template
from flask.helpers import send_file
app = Flask(__name__)
@app.route("/")
def index():
return render_template("index.html")
@app.route("/taskpane.html")
def taskpane():
return render_template("taskpane.html")
@app.route("/commands.html")
def commands():
return render_template("commands.html")
@app.route("/assets/<file_name>")
def get_image(file_name):
return send_file(f"./static/assets/{file_name}",mimetype='image/png')
你能试试这个吗