所以这很尴尬.我有一个应用程序,我把它放在一起,Flask
现在它只是提供一个静态HTML页面,其中包含一些CSS和JS的链接.我无法在文档Flask
中找到返回静态文件的位置.是的,我可以使用,render_template
但我知道数据没有模板化.我曾经想过send_file
或者url_for
是对的,但是我无法让它们发挥作用.与此同时,我正在打开文件,阅读内容,并Response
使用适当的mimetype来装配:
import os.path
from flask import Flask, Response
app = Flask(__name__)
app.config.from_object(__name__)
def root_dir(): # pragma: no cover
return os.path.abspath(os.path.dirname(__file__))
def get_file(filename): # pragma: no cover
try:
src = os.path.join(root_dir(), filename)
# Figure out how flask returns static files
# Tried:
# - render_template
# - send_file
# This should not be so non-obvious
return open(src).read()
except IOError as exc:
return str(exc)
@app.route('/', methods=['GET'])
def metrics(): # pragma: …
Run Code Online (Sandbox Code Playgroud) 是否有任何聪明的解决方案可以在Flask的应用程序根目录中存储静态文件.robots.txt和sitemap.xml应该在/中找到,所以我的想法是为它们创建路由:
@app.route('/sitemap.xml', methods=['GET'])
def sitemap():
response = make_response(open('sitemap.xml').read())
response.headers["Content-type"] = "text/plain"
return response
Run Code Online (Sandbox Code Playgroud)
必须有更方便的东西:)
所以.... 我是 python 烧瓶的初学者,试图制作一个仪表板。
我有一个文件夹,我上传的图片所在的文件夹。
结构体:
manage.py # this is where I run the program.
src
|--pic
|--items
|-- pic_here.jpg
Run Code Online (Sandbox Code Playgroud)
我应该如何设置以便我可以加载图片并将其放入<img>
?
我尝试搜索,但他们展示的只是如何设置静态文件夹。我不认为这是静态的,图片是我通过仪表板上传的。
换句话说,src/pic/items 是我保存的图像所在的位置,我该如何设置我的烧瓶来加载这张图片?