0x00 Предисловие
Слова, написанные впереди: извините, название неизбежно, и у него очень пошлое название.
Это каталог моей серии руководств для полнофункционального проекта с открытым исходным кодом Django.
Зачем писать этот цикл статей? В общем, есть две цели:
- Во-первых, можно надеяться, что больше людей смогут лучше понять стек технологий разработки Django или стек технологий веб-разработки с помощью этой серии руководств, чтобы больше питонистов могли более плавно войти в мир разработки Django.
- Во-вторых, использовать этот непрерывный процесс обновления для более глубокого понимания стека технологий Django Django / DjangoRestFramework / Docker / Vue.JS / Celery / PostgreSQL / Redis / RabbitMQ.
Почему вы говорите, что этот проект нельзя пропустить?
- новый! новый! новый! Будьте в курсе последних версий разработки программного обеспечения, например: Django 2.0 + Vue.JS 2.5 + PostgreSQL 10 + Celery 4.1.0
- Фреймворк Django: Django и его мощная экосистема
- Бэкэнд-компоненты: PostgreSQL RabbitMQ Redis Nginx
- Front-end технология: одностраничное приложение, разделение front-end и back-end (VueJS+Webpack+DjangoRestFramework), автоматизированное развертывание
- Лучшие практики сообщества Django: из config/dev/test/deployвсе сухоПоследние идеи DevOps от штатного инженера.
- В основном он охватывает различные компоненты и операции, необходимые для расширенной разработки Django.
- С правильными настройками этот проект может стать лучшим каркасом для вашего нового проекта.
Читатели этой серии статей:
- Target — питонист DevOps
- Питонист, который любит бросать и бросать
- Практики разделения front-end и back-end
Жизнь коротка, поторопитесь
Life is Short , I Use Python
0x01 Введение в проект
YaDjangoBlog — это еще один способ ведения блога, но его цель — не только создать еще одну систему блогов, но и использовать передовой опыт разработки полного стека Django в рамках этого проекта.
1.1 Адрес проекта
- интерфейсный кодGitHub.com/грубо для меня/я…
- внутренний кодGitHub.com/грубо для меня/я…
1.2 Стек технологий проекта
- Среда разработки и развертывания — Docker.
- Python 3.5.2
- Фронтенд Vue + Webpack + ES2015 + аксиомы
- задняя частьDjango 2.0 + DjangoRestFramework + Celery
- Инструменты автоматического развертывания Ansible и Docker
- Бэкэнд-компоненты
- ElasticSearch для поиска и рекомендаций
- PostgreSQL для сохранения данных
- Redis для сеанса/и кэширования
- Задача распределенной очереди/времени RabbitMQ
- Nginx для обратного прокси
1.3 Особая благодарность
- ansible django stack: GitHub.com/Просто сотрите нас/Нажмите…
- cookiecutter-django: GitHub.com/друг Дэнни/главный операционный директор...
- djangopackages: GitHub.com/Django Pack A…
- Несколько статей Веймин Донга об ElasticSearchwoohoo.animals.com/archives/%E…
- Разработчики отдельных компонентов
- ElasticSearch
- PostgreSQL
- Redis
- RabbitMQ
- Nginx
- Docker
1.4 Скриншот проекта
Хорошо, я уже давно об этом говорил, так что давайте выложим несколько картинок, ведь я не Markdown-программист.
Давайте сначала посмотрим на страницы интерфейса, которые можно увидеть
Домой
Подробности блога
Это очень обычная страница архива
Это функция поиска на базе Elasticsearch.
У Django есть своя предыстория
Как может быть разделение фронтенда и бэкенда без реализации rest api и удобной отладки фронтенда?
Инструменты отладки Django помогают быстро настраивать интерфейсы.
Давайте сначала взглянем на видимый интерфейс разработки.
Выполните tmuxinator start yavueblog в терминале, чтобы автоматически запускать все задачи.
Состояние работы внешнего интерфейса
Состояние работы серверной части
Конечно, вы можете напрямую использовать клиент для подключения к соответствующей службе, чтобы проверить статус работы компонента.
Учебный каталог серии 0x02
2.1 Учебные заметки
- Конфигурация среды разработки в этой статье ограничена macOS.Если читатель использует Windows / вам может потребоваться настроить среду самостоятельно. Тем не менее, автор использует Docker для настройки среды, это избавит вас от многих проблем с настройкой среды.
- После прочтения этого руководства, пожалуйста, следуйте официальному руководству Django хотя бы один раз. Не возитесь с нулевыми основами.
- Если во время использования возникает проблема, пожалуйста, предоставьте как можно больше информации в ISSUE и четко опишите проблему.
Эта серия руководств написана без пошагового добавления кода.
Сначала я покажу вам, как построить всю структуру проекта, а затем представлю проект с разных точек зрения, например:
- Как устроена модель модуля? Какие лживые слоты могут на самом деле написать способ письма.
- Как пользователь Django делает расширение? Также в экотропных кругах Джанго, какие сцены стоит посмотреть, например Guardian
- Как должен быть написан Restful API и как должен быть написан Rest API в Django? Каковы пути повышения эффективности производства? Что насчет разрешений? Как сделать текущий лимит?
- Py.test TDD разработка через тестирование, чтобы понять?
- Элегантный однотерминальный мультипроход с разумными инструментами, такими как Tmux.
2.2 Учебный каталог
- Учебное пособие по развитию в полном стеке Django - Django Pull-Stack Project не пропустить в 2018 году - оглавление
- Учебное пособие по разработке полного стека Django - Конфигурация среды разработки Yadjangoblog
- Учебное пособие по разработке полного стека Django - предварительный дизайн передней и задней части YaDjangoBlog
- Учебник по разработке полного стека Django — разделение интерфейса и сервера YaDjangoBlog
- Руководство по разработке полного стека Django — начальная реализация бэкэнда YaDjangoBlog
- Руководство по разработке полного стека Django — интерфейсная реализация YaDjangoBlog YaVueBlog
- Учебник по разработке полного стека Django - Redis внутреннего компонента YaDjangoBlog
- Учебное пособие по разработке Django All Stack - PostgreSQL внутреннего компонента Yadjangoblog
- Учебное пособие по разработке полного стека Django - Elasticsearch внутренних компонентов YaDjangoBlog
- Учебное пособие по разработке полного стека Django - RabbitMQ бэкэнд-компонентов YaDjangoBlog
- Руководство по разработке полного стека Django - развертывание YaDjangoBlog в производственной среде
0xEE Ссылочная ссылка
Эта статья будет обновляться в течение длительного времени, и обновленный учебник будет отмечен в журнале изменений этой статьи.
Чего ты ждешь, садись в машину
- интерфейсный кодGitHub.com/грубо для меня/я…
- внутренний кодGitHub.com/грубо для меня/я…
ChangeLog:
- 2018-02-21Переработайте текст
- 2018-02-22Тонкая настройка текста, обновление первой конфигурации среды