Структура проекта Masonite
app/ - основная директория проекта, где вы пишите свою логику.
- /controllers - это место, где вы обрабатываете запрос и возвращаете ответы, которые видите в веб-браузере. Ответы могут быть словарями, списками, html (view) или любым классом, который может отображать ответ.
- /middleware - (промежуточное программное обеспечение) является чрезвычайно важным аспектом веб-приложений, поскольку оно позволяет запускать важный код до или после каждого запроса или определенных маршрутов.
- /models - это самый простой способ взаимодействия с вашими таблицами. Модель используем для запроса данных в таблице или для создания новых записей, извлечения связанных записей между таблицами и т.д.
- /providers - это ключевые строительные блоки для Masonite. Единственное, что они делают, регистрируют вещи в Service Container или запускают логику по запросам.
config/ - различные настройки проекта.
- /application.py - настройки секретного ключа, debug режима и т.д.
- /auth.py - настройка авторизации: модель пользователя и т.д.
- /broadcast.py - настройки драйвера Pusher.
- /cache.py - настройки кеширования для Redis, Memcached и файлового драйвера.
- /database.py - настройки базы данных для mysql, postgres, mssql, sqlite.
- /filesystem.py - настройки для драйвера хранения файлов, локально или в облаке (S3).
- /mail.py - настройки для драйвера отправки почты.
- /notification.py - настройки для отправки уведомлений в slack, sms или в БД.
- /queue.py - настройки драйверов очередей, async, database и amqp.
- /security.py - настройки CORS.
- /session.py - настройка сессий, cookie и redis.
- /providers.py содержит список всех Service Providers.
databases/ - миграции и загрузка демо данных (seed)
resources/ - статические файлы, например такие как js и css.
routes/ - ваши маршруты.
storage/ - билд ваших файлов фронтенда.
templates/ - ваши html файлы.
tests/ - ваши тесты.
.env - переменные окружения.
.env.testing - переменные окружения для тестов.
craft.py - этот файл будет использоваться всякий раз, когда вы запускаете команду python craft
.
Kernel.py - файл, который используется для настройки всего вашего проекта.
Начало
Routes
Рассмотрим файл routes/web.py
.
routes/web.py | |
---|---|
routes/web.py | |
---|---|
Здесь у класса Route
указываем какой (http) метод мы используем. Затем передаем сам путь и в текстовом
варианте название класса контроллера и через символ @
метод который нужно вызвать.
Подробнее о routes можно посмотреть в документации.
Controller
В директории app/controllers
откройте файл WelcomeController.py
app/controllers/WelcomeController.py | |
---|---|
Controller
.
В самом классе мы описываем методы, которые будут вызываться по определенным url.
Метод show
принимает view
- это класс который рендерить шаблоны.
app/controllers/WelcomeController.py | |
---|---|
Данный метод вернет готовый html. В метод .render()
мы передаем название html файла.
Сам шаблон находиться в директории templates/welcome.html
.
Чистим
Удалим файл WelcomeController.py
.
Из списка ROUTES
в routes/web.py
удалите Route.get("/", "WelcomeController@show")
.