#python #html #python-3.x #flask #jinja2
Вопрос:
from flask import Flask, render_template
# Flask is a class that allows us to create an app
# render_template is a method offered by flask
app = Flask(__name__) # creates an app with the name of the file
@app.route('/') # route that listens to the homepage
def index(): # route handler
# render_template(template_name_or_list)
# used to specify an html template to render to the user
return render_template('index.html', data=[{
'description': 'Todo 1'
}, {
'description': 'Todo 2'
}, {
'description': 'Todo 3'
}])
# To run the app
# In the terminal
# FLASK_APP=app.py FLASK_DEBUG=true flask run
Мое заявление называется app.py, и он находится в папке с именем ToDo-Приложение, и в этой папке есть еще одна папка под названием шаблоны, которая содержит index.html файл.
<html>
<head>
<title>Todo App</title>
</head>
<body>
<ul>
<!-- jinja for loop -->
{% for d in data %}
<li>{{ d.description }}</li>
{% endfor %}
<!--<li>Todo 1</li>
<li>Todo 2</li>
<li>Todo 3</li>
<li>Todo 4</li>-->
</ul>
</body>
</html>
В терминале:
Esam@DESKTOP-73QDAD3 MINGW32 /i/web/расширенный трек/1-sql_and_data_modeling_for_the_web/ToDo-Приложение
$ FLASK_APP=app.py FLASK_DEBUG=истинный запуск колбы
- Приложение для сервировки колбы «app.py» (ленивая загрузка)
- Среда: рабочее ПРЕДУПРЕЖДЕНИЕ: Это сервер разработки. Не используйте его в производственном развертывании. Вместо этого используйте рабочий сервер WSGI.
- Режим отладки: вкл.
- Перезапуск со статистикой
- Отладчик активен!
- Контактный код отладчика: 266-552-216
- Бежим дальше http://127.0.0.1:5000/ (Нажмите CTRL C, чтобы выйти)
Когда я открыл эту ссылку http://127.0.0.1:5000/
Обратная связь (последний последний вызов): Файл «C:UsersEsamAppDataLocalProgramsPythonPython39-32Libsite-packagesflaskcli.py», строка 236, в импорте locate_app(имя_модуля) ModuleNotFoundError: Нет модуля с именем «приложение»
Во время обработки вышеуказанного исключения произошло еще одно исключение:
Обратная связь (последний последний вызов): Файл «C:UsersEsamAppDataLocalProgramsPythonPython39-32Libsite-packagesflaskcli.py», строка 337, в вызове rv = self._load_unlocked() Файл «C:UsersEsamAppDataLocalProgramsPythonPython39-32Libsite-packagesflaskcli.py», строка 324, в _load_unlocked self._app = rv = Файл self.loader () «C:UsersEsamAppDataLocalProgramsPythonPython39-32Libsite-packagesflaskcli.py», строка 381, в файле load_app app = locate_app(self, import_name, имя) «C:UsersEsamAppDataLocalProgramsPythonPython39-32Libsite-packagesflaskcli.py», строка 246, в locate_app вызывает исключение NoAppException( flask.cli.Исключение NoAppException: Не удалось импортировать «приложение».
Ответ №1:
В зависимости от того, какую машину вы используете, вам необходимо выполнить одно из следующих действий:
Unix Bash (Linux, Mac и т.д.):
$ export FLASK_APP=hello
$ flask run
Windows CMD:
> set FLASK_APP=hello
> flask run
Windows PowerShell:
> $env:FLASK_APP = "hello"
> flask run