Есть ли где-нибудь в документации Flask 1.0, 0.12.x или более ранней документации, которая фактически объясняет, как правильно выполнять загрузку с фляги. Я пишу код уже 30 лет и не могу разобраться с документацией по фляге. И я имею в виду что-либо из этого, кроме примера "Привет, мир" Каждый пример содержит информацию типа «и еще одна вещь, которая вам понадобится». Это означает, что документация / код не завершен. Это в лучшем случае немного.
В частности, нет четкого объяснения:
@app.route('/upload/<filename>')
Что такое имя файла? это переменная? это заполнитель? это то, что присваивает возвращаемая переменная? какова функция знаков <>? Как сохранить глобальное представление о 10-20 переменных, кроме использования JSON? Ничего из этого не ясно и все же является фундаментальным для создания любого нетривиального веб-сайта.
При создании примера веб-сайтов на основе колб / HTML я не могу найти код для:
- загрузить файл и переслать имя файла в другой шаблон из начального шаблона.
- показывает полный набор рабочего кода и структуру кода.
Некоторые функции upload_file () (документация о флягах) показывают отображаемые страницы, тогда как другие (веб-сайты пользователей / переполнение стека) возвращают адрес файла. Мне удалось отобразить страницу без возврата имени файла, поэтому я понятия не имею, почему люди пишут / загружают в дополнение к upload_file.
В нескольких примерах stackoverflow показаны две функции, которые обе называются upload_file (), одна из которых отправляет сообщения, а другая - для отображения изображения. Это приводит к ошибке в колбе 0.12.4 (в Debian Stretch).
Полагаю, у кого-то есть документация о том, как создать веб-сайт с настройкой типа «Шаг 1, шаг 2, шаг 3, финал», где каждая страница отображается с помощью фляги. В настоящее время я не могу найти ничего подобного.
Я единственный, кто в растерянности? Я вижу, что если вы разбираетесь в этом, то вы можете писать HTML / Python Interactive сайты без какого-либо PhP, что мне очень нравится, так как я уже разбираюсь в Python.
SUB_FOLDER = 'tables/uploads'
UPLOAD_FOLDER = '/var/www/html/{}'.format(SUB_FOLDER)
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png',
'jpg', 'jpeg', 'gif'])
@app.route('/runtable', methods=['GET', 'POST'])
def first_table():
if request.method != 'POST':
my_table = [{"text": "line one", "code": 0},
{"text": "line two", "code": 1}]
return render_template('step1.html',
my_table=my_table)
@app.route('/uploader', methods=['GET', 'POST'])
def upload_file():
if request.method == "POST":
f = request.files['file']
filename = os.path.join(app.config['UPLOAD_FOLDER'],
secure_filename(f.filename))
f.save(filename)
fullFileName = os.path.join('http://localhost/',
SUB_FOLDER,
secure_filename(f.filename))
jsonItem = [{"text": "Sample table header", "code": 0},
{"text": "second line of text", "code": 2}]
return render_template('step2.html',
my_table=jsonItem,
filename=fullFileName)
pass