You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-11Lines changed: 12 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
5
5
Вспомогательная библиотека для разработки приложений на FastAPI.
6
6
7
-
Реализует функционал для наиболее распространных ситуаций (создание экзмепляра приложения FastAPI по заданным настройкам,
7
+
Реализует функционал для наиболее распространных ситуаций (создание экзмепляра приложения FastAPI по заданным настройкам,
8
8
работа с БД, фильтрация, пагинация, авторизация, аутентификация).
9
9
10
10
-[Названия библиотеки](#названия-библиотеки)
@@ -33,7 +33,7 @@ fastapi-django - рабочее название (не финальное).
33
33
## TODO
34
34
35
35
1. множественные БД (в одну БД (мастер) пишется, в другую синхронизируется и из нее читается.)
36
-
2. генерация шаблона проекта как в django (также генерируется файл manage.py, в котором дополняются переменные окружения
36
+
2. генерация шаблона проекта как в django (также генерируется файл manage.py, в котором дополняются переменные окружения
37
37
и который является входной точкой в приложение)
38
38
2. прикинуть, какие еще консольные команды могут пригодиться (напр., миграции)
39
39
3. репозитории
@@ -52,7 +52,7 @@ fastapi-django - рабочее название (не финальное).
52
52
53
53
## Создание приложения
54
54
55
-
Библиотека предоставляет функцию `fastapi_django.app.get_default_app()`, которая создает экземпляр приложения FastAPI
55
+
Библиотека предоставляет функцию `fastapi_django.app.get_default_app()`, которая создает экземпляр приложения FastAPI
56
56
с параметрами, указанными в настройках в settings.py:
57
57
58
58
```python
@@ -92,13 +92,13 @@ UVICORN_APP = "web.app:app"
92
92
python manage.py runserver
93
93
```
94
94
95
-
Это запустит экземпляр указанного в UVICORN_APP приложения при помощи uvicorn.
95
+
Это запустит экземпляр указанного в UVICORN_APP приложения при помощи uvicorn.
96
96
97
97
## Работа с БД
98
98
99
99
### Сессии SQLAlchemy
100
100
101
-
Работа с базами данных происходит через слой репозиториев. Для этого разработан [базовый класс репозитория BaseRepository](fastapi_django/db/repositories/base.py#L13),
101
+
Работа с базами данных происходит через слой репозиториев. Для этого разработан [базовый класс репозитория BaseRepository](fastapi_django/db/repositories/base.py#L13),
102
102
который предоставляет возможность работать с данными в стиле Django ORM:
103
103
104
104
```python
@@ -115,9 +115,9 @@ async with contextified_autocommit_session():
Обратите внимание, что сессия SQLAlchemy не передается при инициализации репозитория. Вместо этого она инициализируется
119
-
контекстным менеджером contextified_autocommit_session() и помещается в ContextVars. Репозитории (все в пределах действия
120
-
контекстного менеджера) затем берут инициализированную сессию оттуда. contextified_autocommit_session() также управляет
118
+
Обратите внимание, что сессия SQLAlchemy не передается при инициализации репозитория. Вместо этого она инициализируется
119
+
контекстным менеджером contextified_autocommit_session() и помещается в ContextVars. Репозитории (все в пределах действия
120
+
контекстного менеджера) затем берут инициализированную сессию оттуда. contextified_autocommit_session() также управляет
121
121
жизненным циклом сессии.
122
122
123
123
Настройки базы данных задаются в settings(.py) в DATABASE. Пример:
@@ -148,10 +148,10 @@ DATABASE = {
148
148
149
149
### fastapi-sqla
150
150
151
-
Движки, сессии конфигурируются библиотекой. Параметры через энвы, для наименования которых необходимо придерживаться
152
-
некоторых правил.
151
+
Движки, сессии конфигурируются библиотекой. Параметры через энвы, для наименования которых необходимо придерживаться
152
+
некоторых правил.
153
153
154
-
Сессия создается в миддлварях и [записывается в fastapi.Request.state](https://github.com/dialoguemd/fastapi-sqla/blob/master/fastapi_sqla/async_sqla.py#L137).
154
+
Сессия создается в миддлварях и [записывается в fastapi.Request.state](https://github.com/dialoguemd/fastapi-sqla/blob/master/fastapi_sqla/async_sqla.py#L137).
155
155
Затем эту сессию депенденси AsyncSessionDependency возвращает.
0 commit comments