Планировка проекта¶
Создайте каталог проекта и войдите в него:
$ mkdir flask-tutorial
$ cd flask-tutorial
Затем следуйте инструкциям installation instructions для настройки виртуальной среды Python и установки Flask для вашего проекта.
С этого момента в учебнике будет предполагаться, что вы работаете из каталога flask-tutorial
. Имена файлов в верхней части каждого блока кода относятся к этому каталогу.
Приложение Flask может быть простым, как один файл.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, World!'
Однако, когда проект становится больше, хранить весь код в одном файле становится непосильной задачей. В проектах Python используются пакеты для организации кода в несколько модулей, которые можно импортировать по мере необходимости, и в данном учебнике это также будет сделано.
Каталог проекта будет содержать:
flaskr/
, пакет Python, содержащий код и файлы вашего приложения.tests/
, каталог, содержащий тестовые модули.venv/
, виртуальная среда Python, в которой устанавливается Flask и другие зависимости.Установочные файлы, указывающие Python, как установить ваш проект.
Конфигурация контроля версий, например git. Вы должны взять за правило использовать какой-либо тип контроля версий для всех ваших проектов, независимо от их размера.
Любые другие файлы проекта, которые вы можете добавить в будущем.
В конце концов, макет вашего проекта будет выглядеть следующим образом:
/home/user/Projects/flask-tutorial
├── flaskr/
│ ├── __init__.py
│ ├── db.py
│ ├── schema.sql
│ ├── auth.py
│ ├── blog.py
│ ├── templates/
│ │ ├── base.html
│ │ ├── auth/
│ │ │ ├── login.html
│ │ │ └── register.html
│ │ └── blog/
│ │ ├── create.html
│ │ ├── index.html
│ │ └── update.html
│ └── static/
│ └── style.css
├── tests/
│ ├── conftest.py
│ ├── data.sql
│ ├── test_factory.py
│ ├── test_db.py
│ ├── test_auth.py
│ └── test_blog.py
├── venv/
├── setup.py
└── MANIFEST.in
Если вы используете контроль версий, следующие файлы, создаваемые при запуске проекта, следует игнорировать. В зависимости от используемого редактора могут быть и другие файлы. В общем, игнорируйте файлы, которые вы не писали. Например, при использовании git:
venv/
*.pyc
__pycache__/
instance/
.pytest_cache/
.coverage
htmlcov/
dist/
build/
*.egg-info/
Продолжить Настройка приложения.