Я использую Anaconda и настраиваю venv w / python 3.5 , но при необходимости могу легко изменить версию - работает на windows 10
MyЦель состоит в том, чтобы создать файл с совместным доступом со следующим макетом:
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.Как я могу направить флешку смотреть за пределы статической папки и читать данные из папки user_data?Как для базы данных sqlite, так и для изображений?
2.Как я могу упаковать это, используя pyinstaller, чтобы позволить мне ссылаться на config.py и файлы user_data
текущий разорванный пример (только попытка получить одно изображение из user_data):
appLauncher.py:
if __name__ == "__main__":
from WebApp import app
app.run()
static / css / play.css:
.helloworld {
font-size: 80px;
}
templates / 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 / init .py:
from flask import Flask
app = Flask(__name__)
import WebApp.routes
WebApp / rout.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")
)