首页 > 解决方案 > 烧瓶和外部数据

问题描述

我正在使用 Anaconda 并使用python 3.5设置 venv ,但如果需要,可以轻松更改版本——在Windows 10上运行

我的目标是创建一个具有以下布局的可共享文件:

shared_folder/
 ├── appLauncher.exe
 ├── config.py
 └── user_data/
     ├── images/
     └── database.db

其中可执行文件读取 config.py 文件,而 config.py 文件指示可执行文件从 user_data 文件夹读取数据。(目前,我没有使用配置文件,而是对路径进行硬编码——只是试图让它工作)

我当前的目录如下所示:

shared_folder/
├── WebApp/
│    ├── static/
│    │    ├── css/
│    │    └── js/
│    ├── templates/
│    ├── __init__.py
│    └── routes.py
├── appLauncher.py
├── config.py
└── user_data/
     ├── images/
     └── database.db

我正在努力解决两个问题(并将其作为两个问题发布):

1.我怎样才能让flask在静态文件夹之外查看并从user_data文件夹中读取数据?对于 sqlite DB 和图像?

2. 如何使用 pyinstaller 打包它以允许我引用 config.py 和 user_data 文件

当前拆解的示例(仅尝试从 user_data 中提取一张图像):

appLauncher.py:

if __name__ == "__main__":
  from WebApp import app
  app.run()

静态/css/play.css:

.helloworld {
  font-size: 80px;
}

模板/index.html:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>my App</title>
  </head>
  <body>
    <link rel="stylesheet" href={{ url_for("static", filename="css/play.css") }}>
    <div class="helloworld">Hello World!</div>
    <!-- <img src='{{ url_for("static", filename="flask.jpg") }}'> -->
    <img src='{{ img }}'>
    <img src='{{ img|safe }}'>
  </body>
</html>

WebApp/初始化.py:

from flask import Flask
app = Flask(__name__)

import WebApp.routes

WebApp/routes.py:

from WebApp import app
from flask import render_template, url_for, send_file

@app.route("/")
@app.route("/index")
def hello():
    return render_template(
        "index.html",
        img = send_file(r"C:\Users\EvanS\Desktop\FlaskExternalEXE\user_data\flask.jpg")
    )

标签: pythonflask

解决方案


推荐阅读