Wagtail rebuild of AllUnity.ru (refactor/redesign/reverse-engineering): page models, DRY templates, StreamField blocks, content-migration script, Docker/compose/nginx, tests
AllUnity — Wagtail rebuild#
Рефакторинг / редизайн / реверсинжиниринг сайта AllUnity.ru на платформе
Wagtail (Django CMS). Генерирует полную структуру страниц, DRY-шаблоны
(общий base.html + components/navigation.html + components/footer.html),
кастомные StreamField-блоки и скрипт миграции контента со старого SHTML-сайта.
Быстрый старт (SQLite, без внешних сервисов)#
python -m venv .venv && source .venv/bin/activate
pip install -r requirements/development.txt
export DJANGO_SETTINGS_MODULE=allunity.settings.development
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
# admin: http://127.0.0.1:8000/admin/Структура#
apps/core—BasePage(SEO/OG миксин),blocks.py,middleware.pyapps/home—HomePage(hero + StreamField body)apps/institute—InstituteIndexPage,SubjectPage,LaboratoryPageapps/news—NewsIndexPage,NewsPageapps/projects—ProjectIndexPage,ProjectPageapps/discussions—DiscussionIndexPage,DiscussionPageapps/content—ManifestPage,CodexPage,DictionaryPage,SchoolPage,HistoryPage,EmblemPagetemplates/—base.html,components/,blocks/, page-шаблоныallunity/settings—base / development / production / testing
Миграция контента со старого сайта#
python manage.py migrate_data --dry-run # проверка без записи
python manage.py migrate_data # парсинг allunity.ru и создание страницСкрипт (apps/core/management/commands/migrate_data.py) обходит SHTML-страницы,
превращает <h1>/<h2>/<p> в StreamField-блоки и создаёт дерево Wagtail-страниц.
Производство#
- Postgres: задайте
DATABASE_URL=postgres://... - Redis-кэш:
REDIS_URL=redis://...(опционально) docker-compose up --buildподнимает web + db + redis + nginx (SSL в ./ssl)
Заметки#
apps.core.middleware.SecurityHeadersMiddlewareдобавляет заголовки безопасности.templates/components/navigation.htmlстроит меню изsite_root.get_children.live.in_menu(включите «Show in menus» у нужных страниц в админке).
Похожие репозитории
- dominicusin/ai-orchestration-platform
- dominicusin/mydocs
- dominicusin/onionshare
- dominicusin/package-maximizer
- dominicusin/shadowbroker
- neoallunity/Magazine
- transgregorial/fawkes
- transgregorial/integral-philosophy-core
- transgregorial/integral-philosophy-web
- transgregorial/unlocker
- transgregorial/vkcons
- neoallunity/Magazine
- neoallunity/integral-philosophy-core
- neoallunity/integral-philosophy-web
- transgregorial/vkcons
- transgregorial/unlocker
- transgregorial/fawkes
- transgregorial/integral-philosophy-core
- transgregorial/integral-philosophy-web