django-cfg 1.4.11__py3-none-any.whl → 1.4.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- django_cfg/apps/urls.py +120 -108
- django_cfg/core/generation/integration_generators/api.py +2 -1
- django_cfg/core/integration/url_integration.py +5 -10
- django_cfg/models/django/openapi.py +15 -128
- django_cfg/modules/django_client/core/archive/manager.py +2 -2
- django_cfg/modules/django_client/core/config/config.py +20 -0
- django_cfg/modules/django_client/core/config/service.py +1 -1
- django_cfg/modules/django_client/core/generator/__init__.py +4 -4
- django_cfg/modules/django_client/core/generator/base.py +71 -0
- django_cfg/modules/django_client/core/generator/python/__init__.py +16 -0
- django_cfg/modules/django_client/core/generator/python/async_client_gen.py +174 -0
- django_cfg/modules/django_client/core/generator/python/files_generator.py +180 -0
- django_cfg/modules/django_client/core/generator/python/generator.py +182 -0
- django_cfg/modules/django_client/core/generator/python/models_generator.py +318 -0
- django_cfg/modules/django_client/core/generator/python/operations_generator.py +278 -0
- django_cfg/modules/django_client/core/generator/python/sync_client_gen.py +102 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/api_wrapper.py.jinja +25 -2
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/main_client.py.jinja +24 -6
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/main_client_file.py.jinja +1 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/operation_method.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/sub_client.py.jinja +8 -1
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_main_client.py.jinja +50 -0
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_operation_method.py.jinja +9 -0
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_sub_client.py.jinja +18 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/main_init.py.jinja +2 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/enum_class.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/schema_class.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/python/templates/pyproject.toml.jinja +55 -0
- django_cfg/modules/django_client/core/generator/python/templates/utils/retry.py.jinja +271 -0
- django_cfg/modules/django_client/core/generator/typescript/__init__.py +14 -0
- django_cfg/modules/django_client/core/generator/typescript/client_generator.py +165 -0
- django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py +428 -0
- django_cfg/modules/django_client/core/generator/typescript/files_generator.py +207 -0
- django_cfg/modules/django_client/core/generator/typescript/generator.py +432 -0
- django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py +539 -0
- django_cfg/modules/django_client/core/generator/typescript/models_generator.py +245 -0
- django_cfg/modules/django_client/core/generator/typescript/operations_generator.py +298 -0
- django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py +329 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/api_instance.ts.jinja +131 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/app_client.ts.jinja +1 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/client.ts.jinja +77 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/main_client_file.ts.jinja +1 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/sub_client.ts.jinja +3 -3
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja +45 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/index.ts.jinja +30 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/main_index.ts.jinja +73 -11
- django_cfg/modules/django_client/core/generator/typescript/templates/package.json.jinja +52 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/schemas/index.ts.jinja +21 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/schemas/schema.ts.jinja +24 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/tsconfig.json.jinja +20 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/errors.ts.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/logger.ts.jinja +9 -1
- django_cfg/modules/django_client/core/generator/typescript/templates/utils/retry.ts.jinja +175 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/storage.ts.jinja +54 -10
- django_cfg/modules/django_client/management/commands/generate_client.py +5 -0
- django_cfg/modules/django_client/pytest.ini +30 -0
- django_cfg/modules/django_client/spectacular/__init__.py +3 -2
- django_cfg/modules/django_client/spectacular/async_detection.py +187 -0
- django_cfg/{dashboard → modules/django_dashboard}/management/commands/debug_dashboard.py +5 -5
- django_cfg/modules/django_logging/LOGGING_GUIDE.md +1 -1
- django_cfg/modules/django_unfold/callbacks/main.py +6 -6
- django_cfg/modules/django_unfold/dashboard.py +6 -6
- django_cfg/pyproject.toml +1 -1
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.14.dist-info}/METADATA +1 -1
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.14.dist-info}/RECORD +100 -78
- django_cfg/dashboard/DEBUG_README.md +0 -105
- django_cfg/dashboard/REFACTORING_SUMMARY.md +0 -237
- django_cfg/modules/django_client/core/generator/python.py +0 -751
- django_cfg/modules/django_client/core/generator/typescript.py +0 -872
- django_cfg/modules/django_drf_theme/CHANGELOG.md +0 -210
- django_cfg/modules/django_drf_theme/EXAMPLE.md +0 -465
- django_cfg/modules/django_drf_theme/IMPLEMENTATION.md +0 -232
- django_cfg/modules/django_drf_theme/README.md +0 -207
- django_cfg/modules/django_drf_theme/TAILWIND_CDN_GUIDE.md +0 -274
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/__init__.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/app_init.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/app_client.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/flat_client.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client_file.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/app_models.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/enums.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/models.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/utils/logger.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/utils/schema.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/app_index.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/flat_client.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/operation.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client_file.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/index.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/app_models.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/enums.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/models.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/http.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/schema.ts.jinja +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/components.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/debug.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/management/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/management/commands/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/base.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/commands.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/documentation.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/overview.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/stats.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/system.py +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.14.dist-info}/WHEEL +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.14.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.14.dist-info}/licenses/LICENSE +0 -0
@@ -1,105 +0,0 @@
|
|
1
|
-
# Dashboard Debug Tool
|
2
|
-
|
3
|
-
Инструмент для отладки рендеринга dashboard секций.
|
4
|
-
|
5
|
-
## Использование
|
6
|
-
|
7
|
-
### 1. Management Command
|
8
|
-
|
9
|
-
Запустить из командной строки для тестирования рендера:
|
10
|
-
|
11
|
-
```bash
|
12
|
-
# Рендер всех секций
|
13
|
-
python manage.py debug_dashboard
|
14
|
-
|
15
|
-
# Рендер конкретной секции
|
16
|
-
python manage.py debug_dashboard --section overview
|
17
|
-
python manage.py debug_dashboard --section stats
|
18
|
-
|
19
|
-
# Указать пользователя
|
20
|
-
python manage.py debug_dashboard --user admin
|
21
|
-
```
|
22
|
-
|
23
|
-
### 2. Автоматическое сохранение
|
24
|
-
|
25
|
-
При каждом рендере dashboard секции автоматически сохраняются в:
|
26
|
-
```
|
27
|
-
libs/django_cfg/src/django_cfg/debug/dashboard/
|
28
|
-
```
|
29
|
-
|
30
|
-
Файлы:
|
31
|
-
- `section_overview_YYYYMMDD_HHMMSS.html` - отрендеренный HTML
|
32
|
-
- `section_overview_YYYYMMDD_HHMMSS_context.json` - контекст шаблона
|
33
|
-
- `section_overview_YYYYMMDD_HHMMSS_meta.json` - метаданные
|
34
|
-
|
35
|
-
**Важно**: Директория `debug/` добавлена в `.gitignore` и не попадает в git.
|
36
|
-
|
37
|
-
### 3. Программное использование
|
38
|
-
|
39
|
-
```python
|
40
|
-
from django_cfg.dashboard.debug import save_section_render
|
41
|
-
|
42
|
-
# В коде секции
|
43
|
-
html = section.render()
|
44
|
-
save_section_render('my_section', html, section_data={'key': 'value'})
|
45
|
-
```
|
46
|
-
|
47
|
-
## Структура
|
48
|
-
|
49
|
-
```
|
50
|
-
dashboard/
|
51
|
-
├── debug.py # DashboardDebugger класс
|
52
|
-
├── sections/ # Секции dashboard
|
53
|
-
│ ├── overview.py # Overview секция
|
54
|
-
│ ├── stats.py # Stats секция
|
55
|
-
│ ├── system.py # System секция
|
56
|
-
│ └── commands.py # Commands секция
|
57
|
-
└── management/
|
58
|
-
└── commands/
|
59
|
-
└── debug_dashboard.py # Management command
|
60
|
-
```
|
61
|
-
|
62
|
-
## Сравнение с архивом
|
63
|
-
|
64
|
-
```python
|
65
|
-
from django_cfg.dashboard.debug import get_debugger
|
66
|
-
from pathlib import Path
|
67
|
-
|
68
|
-
debugger = get_debugger()
|
69
|
-
archive = Path('@archieves/now/dashboard.html')
|
70
|
-
|
71
|
-
comparison = debugger.compare_with_archive(current_html, archive)
|
72
|
-
print(comparison)
|
73
|
-
```
|
74
|
-
|
75
|
-
## Debugging workflow
|
76
|
-
|
77
|
-
1. Запустить `python manage.py debug_dashboard`
|
78
|
-
2. Проверить `@archieves/debug/renders/`
|
79
|
-
3. Сравнить с `@archieves/now/dashboard.html`
|
80
|
-
4. Проверить context.json для диагностики данных
|
81
|
-
5. Исправить проблемы в секциях/шаблонах
|
82
|
-
6. Повторить
|
83
|
-
|
84
|
-
## Примеры проблем
|
85
|
-
|
86
|
-
### Пустой вывод данных
|
87
|
-
Проверить в `_context.json`:
|
88
|
-
- Наличие ключа `data`
|
89
|
-
- Структуру данных (`data.stats`, `data.system_health`)
|
90
|
-
- Значения (не None, не пустые)
|
91
|
-
|
92
|
-
### Template не найден
|
93
|
-
```
|
94
|
-
TemplateDoesNotExist: admin/sections/overview_section.html
|
95
|
-
```
|
96
|
-
Проверить:
|
97
|
-
- Путь к шаблону в `section.template_name`
|
98
|
-
- Наличие файла в `templates/admin/sections/`
|
99
|
-
- Правильность extends/include
|
100
|
-
|
101
|
-
### Ошибки импорта
|
102
|
-
Проверить:
|
103
|
-
- Наличие всех зависимостей
|
104
|
-
- Правильность импортов в секциях
|
105
|
-
- Доступность моделей/конфигов
|
@@ -1,237 +0,0 @@
|
|
1
|
-
# Dashboard Refactoring Summary
|
2
|
-
|
3
|
-
## Проблема
|
4
|
-
|
5
|
-
После рефакторинга dashboard секции данные отображаются не полностью:
|
6
|
-
- Отсутствуют Quick Actions
|
7
|
-
- Отсутствует Charts Section
|
8
|
-
- Отсутствуют System Metrics
|
9
|
-
- Отсутствует Activity Tracker
|
10
|
-
- По умолчанию открывается таб "API Zones" вместо "Overview"
|
11
|
-
|
12
|
-
## Анализ
|
13
|
-
|
14
|
-
### Старая структура (`@archieves/django_cfg/templates`)
|
15
|
-
```
|
16
|
-
admin/
|
17
|
-
├── layouts/
|
18
|
-
│ └── dashboard_with_tabs.html # Layout с табами и JavaScript
|
19
|
-
└── snippets/
|
20
|
-
├── tabs/
|
21
|
-
│ └── overview_tab.html # Полный overview с includes
|
22
|
-
└── components/
|
23
|
-
├── stats_cards.html
|
24
|
-
├── quick_actions.html
|
25
|
-
├── charts_section.html
|
26
|
-
├── recent_activity.html
|
27
|
-
├── system_health.html
|
28
|
-
├── system_metrics.html
|
29
|
-
└── activity_tracker.html
|
30
|
-
```
|
31
|
-
|
32
|
-
### Новая структура (после рефакторинга)
|
33
|
-
```
|
34
|
-
django_cfg/
|
35
|
-
├── dashboard/
|
36
|
-
│ ├── sections/
|
37
|
-
│ │ ├── base.py # Базовые классы секций
|
38
|
-
│ │ ├── overview.py # Overview секция (УПРОЩЕННАЯ!)
|
39
|
-
│ │ ├── stats.py
|
40
|
-
│ │ ├── system.py
|
41
|
-
│ │ └── commands.py
|
42
|
-
│ ├── debug.py # Инструмент отладки
|
43
|
-
│ └── management/commands/
|
44
|
-
│ └── debug_dashboard.py # Management command
|
45
|
-
└── templates/admin/
|
46
|
-
├── index.html # Использует новые секции
|
47
|
-
└── sections/
|
48
|
-
├── overview_section.html # Шаблон overview (УПРОЩЕННЫЙ!)
|
49
|
-
└── ...
|
50
|
-
```
|
51
|
-
|
52
|
-
## Решение
|
53
|
-
|
54
|
-
### 1. Debug инструмент ✅
|
55
|
-
Создан инструмент для отладки рендеринга:
|
56
|
-
```bash
|
57
|
-
python manage.py debug_dashboard
|
58
|
-
```
|
59
|
-
|
60
|
-
Сохраняет рендеры в `@archieves/debug/renders/`:
|
61
|
-
- `section_overview_YYYYMMDD_HHMMSS.html`
|
62
|
-
- `section_overview_YYYYMMDD_HHMMSS_context.json`
|
63
|
-
- `section_overview_YYYYMMDD_HHMMSS_meta.json`
|
64
|
-
|
65
|
-
### 2. Автоматическое сохранение рендеров ✅
|
66
|
-
При каждом рендере секции автоматически сохраняются через:
|
67
|
-
```python
|
68
|
-
from django_cfg.dashboard.debug import save_section_render
|
69
|
-
|
70
|
-
save_section_render('overview', html)
|
71
|
-
```
|
72
|
-
|
73
|
-
### 3. Восстановление недостающих компонентов ✅
|
74
|
-
Обновлен `overview_section.html` чтобы включать:
|
75
|
-
- ✅ Quick Actions (через include)
|
76
|
-
- ✅ Charts Section (через include)
|
77
|
-
- ✅ Recent Activity (через include)
|
78
|
-
- ✅ System Metrics (через include)
|
79
|
-
- ✅ Activity Tracker (через include)
|
80
|
-
|
81
|
-
### 4. Исправление активного таба
|
82
|
-
**Проблема**: По умолчанию активен таб "API Zones" (data-tab="1")
|
83
|
-
**Причина**: JavaScript использует URL hash или сохраненное состояние
|
84
|
-
|
85
|
-
**Решение**:
|
86
|
-
- JavaScript корректно активирует первый таб при загрузке
|
87
|
-
- Проблема возникает только если сохранить страницу с активным другим табом
|
88
|
-
|
89
|
-
## Архитектура
|
90
|
-
|
91
|
-
### Старый подход
|
92
|
-
```django
|
93
|
-
{% extends 'admin/layouts/dashboard_with_tabs.html' %}
|
94
|
-
|
95
|
-
{% block overview_tab %}
|
96
|
-
{% include 'admin/snippets/tabs/overview_tab.html' %}
|
97
|
-
{% endblock %}
|
98
|
-
```
|
99
|
-
|
100
|
-
**Плюсы:**
|
101
|
-
- Простая структура
|
102
|
-
- Все компоненты в templates
|
103
|
-
|
104
|
-
**Минусы:**
|
105
|
-
- Нет разделения логики и представления
|
106
|
-
- Нет типизации данных
|
107
|
-
- Сложно тестировать
|
108
|
-
|
109
|
-
### Новый подход
|
110
|
-
```python
|
111
|
-
class OverviewSection(DataSection):
|
112
|
-
template_name = "admin/sections/overview_section.html"
|
113
|
-
|
114
|
-
def get_data(self):
|
115
|
-
return {
|
116
|
-
'stats': self.get_key_stats(),
|
117
|
-
'system_health': self.get_system_health(),
|
118
|
-
}
|
119
|
-
```
|
120
|
-
|
121
|
-
**Плюсы:**
|
122
|
-
- Разделение логики и представления
|
123
|
-
- Типизация данных
|
124
|
-
- Легко тестировать
|
125
|
-
- Переиспользуемые компоненты
|
126
|
-
|
127
|
-
**Минусы:**
|
128
|
-
- Более сложная структура
|
129
|
-
- Нужно поддерживать совместимость со старыми компонентами
|
130
|
-
|
131
|
-
## Рекомендации
|
132
|
-
|
133
|
-
### Краткосрочные
|
134
|
-
1. ✅ Восстановить все компоненты в overview секции
|
135
|
-
2. ⏳ Проверить остальные секции (stats, system, commands)
|
136
|
-
3. ⏳ Добавить тесты для секций
|
137
|
-
|
138
|
-
### Долгосрочные
|
139
|
-
1. Создать templatetags для упрощения:
|
140
|
-
```django
|
141
|
-
{% render_section 'overview' %}
|
142
|
-
{% render_card stats %}
|
143
|
-
```
|
144
|
-
|
145
|
-
2. Унифицировать компоненты:
|
146
|
-
- Переписать старые snippets как Python классы
|
147
|
-
- Единый стиль для всех секций
|
148
|
-
|
149
|
-
3. Добавить конфигурацию:
|
150
|
-
```python
|
151
|
-
DJANGO_CFG_DASHBOARD = {
|
152
|
-
'sections': ['overview', 'stats', 'system'],
|
153
|
-
'default_tab': 0,
|
154
|
-
}
|
155
|
-
```
|
156
|
-
|
157
|
-
## Миграция со старой версии
|
158
|
-
|
159
|
-
### Вариант 1: Использовать новые секции (текущий)
|
160
|
-
```django
|
161
|
-
{% extends 'admin/layouts/dashboard_with_tabs.html' %}
|
162
|
-
|
163
|
-
{% block overview_tab %}
|
164
|
-
{% if overview_section %}
|
165
|
-
{{ overview_section|safe }}
|
166
|
-
{% else %}
|
167
|
-
{% include 'admin/snippets/tabs/overview_tab.html' %}
|
168
|
-
{% endif %}
|
169
|
-
{% endblock %}
|
170
|
-
```
|
171
|
-
|
172
|
-
### Вариант 2: Вернуться к старым includes
|
173
|
-
```django
|
174
|
-
{% extends 'admin/layouts/dashboard_with_tabs.html' %}
|
175
|
-
|
176
|
-
{% block overview_tab %}
|
177
|
-
{% include 'admin/snippets/tabs/overview_tab.html' %}
|
178
|
-
{% endblock %}
|
179
|
-
```
|
180
|
-
|
181
|
-
### Вариант 3: Гибридный подход (рекомендуется)
|
182
|
-
```django
|
183
|
-
{% block overview_tab %}
|
184
|
-
{% if use_new_sections %}
|
185
|
-
{{ overview_section|safe }}
|
186
|
-
{% else %}
|
187
|
-
{% include 'admin/snippets/tabs/overview_tab.html' %}
|
188
|
-
{% endif %}
|
189
|
-
{% endblock %}
|
190
|
-
```
|
191
|
-
|
192
|
-
## Файлы
|
193
|
-
|
194
|
-
### Изменены
|
195
|
-
- `modules/django_unfold/callbacks/main.py` - добавлен рендер секций с debug
|
196
|
-
- `templates/admin/index.html` - использует новые секции
|
197
|
-
- `templates/admin/sections/overview_section.html` - восстановлены компоненты
|
198
|
-
|
199
|
-
### Добавлены
|
200
|
-
- `dashboard/` - новая директория с секциями
|
201
|
-
- `sections/` - классы секций
|
202
|
-
- `debug.py` - отладочный инструмент
|
203
|
-
- `management/commands/debug_dashboard.py` - management command
|
204
|
-
- `DEBUG_README.md` - документация
|
205
|
-
- `REFACTORING_SUMMARY.md` - этот файл
|
206
|
-
|
207
|
-
### Архив
|
208
|
-
- `@archieves/django_cfg/templates/` - старые шаблоны
|
209
|
-
- `@archieves/now/dashboard.html` - последний рендер до исправлений
|
210
|
-
- `@archieves/debug/renders/` - сохраненные рендеры для отладки
|
211
|
-
|
212
|
-
## Команды
|
213
|
-
|
214
|
-
### Отладка
|
215
|
-
```bash
|
216
|
-
# Рендер всех секций
|
217
|
-
python manage.py debug_dashboard
|
218
|
-
|
219
|
-
# Рендер конкретной секции
|
220
|
-
python manage.py debug_dashboard --section overview
|
221
|
-
|
222
|
-
# Сравнение с архивом
|
223
|
-
diff @archieves/now/dashboard.html @archieves/debug/renders/section_overview_*.html
|
224
|
-
```
|
225
|
-
|
226
|
-
### Git
|
227
|
-
```bash
|
228
|
-
# Статус изменений
|
229
|
-
git status libs/django_cfg/src/django_cfg
|
230
|
-
|
231
|
-
# Diff изменений
|
232
|
-
git diff libs/django_cfg/src/django_cfg
|
233
|
-
|
234
|
-
# Добавить новые файлы
|
235
|
-
git add libs/django_cfg/src/django_cfg/dashboard/
|
236
|
-
git add libs/django_cfg/src/django_cfg/templates/admin/sections/
|
237
|
-
```
|