50 lines
1.7 KiB
Markdown
50 lines
1.7 KiB
Markdown
## Resume (Django)
|
||
|
||
Коротко: персональный сайт-резюме на Django с выдачей DOCX/PDF «на лету».
|
||
|
||
### Мини‑настройка
|
||
1) Создайте `.env` (можно на основе `example.env`):
|
||
```
|
||
DEBUG=True
|
||
SECRET_KEY=change-this
|
||
ALLOWED_HOSTS=127.0.0.1,localhost
|
||
DATABASE_URL=sqlite:///db.sqlite3
|
||
```
|
||
2) Установите зависимости (poetry или pip):
|
||
```
|
||
poetry install
|
||
# или
|
||
pip install -r requirements.txt # если используете requirements
|
||
```
|
||
3) Миграции и запуск:
|
||
```
|
||
python manage.py migrate
|
||
python manage.py runserver
|
||
```
|
||
|
||
PDF рендерится через WeasyPrint. Для Linux/WSL установите системные библиотеки (cairo/pango/gdk-pixbuf, шрифты DejaVu), иначе PDF может не собираться.
|
||
|
||
### Данные
|
||
Профиль хранится в БД (модель `Profile` + связанные `Experience`, `SkillGroup`). Наполнение — через админку/скрипты/миграции по вашему выбору. Страница читает данные напрямую из БД.
|
||
|
||
## От грязи
|
||
### Линтер/форматер
|
||
```
|
||
poetry run ruff check .
|
||
poetry run ruff format .
|
||
```
|
||
### Типы
|
||
```
|
||
poetry run mypy .
|
||
```
|
||
|
||
### Безопасность кода/зависимостей
|
||
```
|
||
poetry run bandit -r cv resume -x .venv,venv,build,dist,.tox,.mypy_cache,.ruff_cache,node_modules
|
||
poetry run pip-audit
|
||
```
|
||
|
||
### Мёртвый код
|
||
```
|
||
poetry run vulture cv resume --exclude ".venv,venv,build,dist,.tox,.mypy_cache,.ruff_cache,node_modules,/migrations/" --min-confidence 80
|
||
``` |