Проекты полного стека Django, которые нельзя пропустить в 2018 году YaDjangoBlog

задняя часть Python Django Vue.js полный стек
Проекты полного стека Django, которые нельзя пропустить в 2018 году YaDjangoBlog

0x00 Предисловие

Слова, написанные впереди: извините, название неизбежно, и у него очень пошлое название.

Это каталог моей серии руководств для полнофункционального проекта с открытым исходным кодом Django.

Зачем писать этот цикл статей? В общем, есть две цели:

  1. Во-первых, можно надеяться, что больше людей смогут лучше понять стек технологий разработки Django или стек технологий веб-разработки с помощью этой серии руководств, чтобы больше питонистов могли более плавно войти в мир разработки Django.
  2. Во-вторых, использовать этот непрерывный процесс обновления для более глубокого понимания стека технологий 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 Адрес проекта

1.2 Стек технологий проекта

  • Среда разработки и развертывания — Docker.
  • Python 3.5.2
  • Фронтенд Vue + Webpack + ES2015 + аксиомы
  • задняя частьDjango 2.0 + DjangoRestFramework + Celery
  • Инструменты автоматического развертывания Ansible и Docker
  • Бэкэнд-компоненты
    • ElasticSearch для поиска и рекомендаций
    • PostgreSQL для сохранения данных
    • Redis для сеанса/и кэширования
    • Задача распределенной очереди/времени RabbitMQ
    • Nginx для обратного прокси

1.3 Особая благодарность

1.4 Скриншот проекта

Хорошо, я уже давно об этом говорил, так что давайте выложим несколько картинок, ведь я не Markdown-программист.

Давайте сначала посмотрим на страницы интерфейса, которые можно увидеть

Домой

Подробности блога

Это очень обычная страница архива

Это функция поиска на базе Elasticsearch.

У Django есть своя предыстория

Как может быть разделение фронтенда и бэкенда без реализации rest api и удобной отладки фронтенда?

Инструменты отладки Django помогают быстро настраивать интерфейсы.

Давайте сначала взглянем на видимый интерфейс разработки.

Выполните tmuxinator start yavueblog в терминале, чтобы автоматически запускать все задачи.

Состояние работы внешнего интерфейса

Состояние работы серверной части

Конечно, вы можете напрямую использовать клиент для подключения к соответствующей службе, чтобы проверить статус работы компонента.

Учебный каталог серии 0x02

2.1 Учебные заметки

  1. Конфигурация среды разработки в этой статье ограничена macOS.Если читатель использует Windows / вам может потребоваться настроить среду самостоятельно. Тем не менее, автор использует Docker для настройки среды, это избавит вас от многих проблем с настройкой среды.
  2. После прочтения этого руководства, пожалуйста, следуйте официальному руководству Django хотя бы один раз. Не возитесь с нулевыми основами.
  3. Если во время использования возникает проблема, пожалуйста, предоставьте как можно больше информации в ISSUE и четко опишите проблему.

Эта серия руководств написана без пошагового добавления кода.

Сначала я покажу вам, как построить всю структуру проекта, а затем представлю проект с разных точек зрения, например:

  1. Как устроена модель модуля? Какие лживые слоты могут на самом деле написать способ письма.
  2. Как пользователь Django делает расширение? Также в экотропных кругах Джанго, какие сцены стоит посмотреть, например Guardian
  3. Как должен быть написан Restful API и как должен быть написан Rest API в Django? Каковы пути повышения эффективности производства? Что насчет разрешений? Как сделать текущий лимит?
  4. Py.test TDD разработка через тестирование, чтобы понять?
  5. Элегантный однотерминальный мультипроход с разумными инструментами, такими как Tmux.

2.2 Учебный каталог

0xEE Ссылочная ссылка

Эта статья будет обновляться в течение длительного времени, и обновленный учебник будет отмечен в журнале изменений этой статьи.

Чего ты ждешь, садись в машину


ChangeLog:

  • 2018-02-21Переработайте текст
  • 2018-02-22Тонкая настройка текста, обновление первой конфигурации среды