Krististudio.ru

Онлайн образование
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Уроки django для начинающих

8 обучалок Django

Если вы решили связать свою жизнь с Python, то знакомство с Django — неизбежная ступень вашего развития. Вот 8 ресурсов, которые помогут вам познакомиться с этим фреймворком поближе.

Курс GeekBrains

Самым очевидным выбором для обучения с нуля такому мощному фреймворку, как Django, является полностью посвященный этому онлайн -курс. Возможность периодически взаимодействовать с опытным разработчиком, спрашивать совета и показывать свой код, гарантировано ускорят ваше погружение в тему.

К счастью, здесь на портале GeekBrains такой курс имеется. К началу занятий лучше подтянуть свои знания по JavaScript, Ajax и Python, чтобы не тратить на это время по ходу занятий. Придется выполнять очень много практической работы, но зато на выходе вы уже получите реальный набор навыков и готовый проект для своего портфолио.

Tango With Django

Очень увлекательный учебник для изучения Python через Django. Информация подается очень доступно для новичков, присутствуют картинки, иллюстрации и даже немного юмора. Кроме того, в процессе чтения вы познакомьтесь с другими языками веба, системой контроля версий Git и общими принципами работы сетей. Первые 2 части находятся в свободном доступе, а самая свежая версия — только за деньги. И да, обязательно подтяните английский язык.

Writing your first Django app

Официальное руководство в 7 частях по созданию вашего первого мобильного приложения с использованием Django. Рассчитано на тех, у кого есть хотя бы небольшой опыт работы с Python. Информация подается достаточно сухо, но зато в пошаговом формате и при этом подробно. По окончанию курса, вернитесь к разделу “Tutorials” и увидите еще пару полезных разделов. Один из них посвящен масштабированию приложений, другой — список рекомендуемой литературы для дальнейшего развития.

Django Girls Tutorial

Очень забавный ресурс для посвящения прекрасной половины человечества в мир Django. Огромным плюсом является не только легкая подача информации, но и перевод на русский язык. Знакомство с Django при этом довольно общее, но после него можно смело браться за более серьезные ресурсы — базовые принципы изложены великолепно.

Django Weekly

Ресурс с еженедельными рассылками по Django. Здесь можно найти информацию всем — и новичкам, делающим первые шаги, и тем кому надо глубже продвинуться в каком-то конкретном направлении, и тем профи, кто просто с удовольствием прочитает новую информацию про используемый продукт.

Ultimate Django

Руководство, начинающееся с очень привлекательных слов о зарплате Django -специалистов в США. Не смущайтесь, в остальном, это достаточно качественная онлайн книга, содержащая не только step-by-step уроки по созданию своего первого приложения, но и дальнейшее развитие в виде создания функционала и деплоя.

TaskBuster Django Tutorial

Еще одно очень качественное иллюстрированное руководство с широким спектром затрагиваемых вопросов — помимо работы с фреймворком, это взаимодействие с элементами веба, БД, системой контроля версий, тестирование, настройки и многое другое. Огромным плюсом являются и комментарии, которые оставляют ученики под уроком — там вы отыщите ответы на всевозможные вопросы, которые возникнут по ходу.

Django на русском

Для тех, кому все-таки английский язык пока не дается, имеется возможность пройти курс от новичка до уверенного разработчика с данным ресурсом. Помимо учебника, здесь есть форум, раздел “Новости”, а также периодически публикуются обзорные узкоспециальные статьи.

Django является одним из самых популярных фреймворков для языка Python. Он использовался при разработке таких ресурсов, как Instagram, YouTube, Google, Mozilla и многих других. Django поддерживает массу инструментов и шаблонов для быстрого и эффективного создания современного веба любой сложности.

Если вы решили связать свою жизнь с Python, то знакомство с Django — неизбежная ступень вашего развития. Вот 8 ресурсов, которые помогут вам познакомиться с этим фреймворком поближе.

Курс GeekBrains

Самым очевидным выбором для обучения с нуля такому мощному фреймворку, как Django, является полностью посвященный этому онлайн -курс. Возможность периодически взаимодействовать с опытным разработчиком, спрашивать совета и показывать свой код, гарантировано ускорят ваше погружение в тему.

К счастью, здесь на портале GeekBrains такой курс имеется. К началу занятий лучше подтянуть свои знания по JavaScript, Ajax и Python, чтобы не тратить на это время по ходу занятий. Придется выполнять очень много практической работы, но зато на выходе вы уже получите реальный набор навыков и готовый проект для своего портфолио.

Tango With Django

Очень увлекательный учебник для изучения Python через Django. Информация подается очень доступно для новичков, присутствуют картинки, иллюстрации и даже немного юмора. Кроме того, в процессе чтения вы познакомьтесь с другими языками веба, системой контроля версий Git и общими принципами работы сетей. Первые 2 части находятся в свободном доступе, а самая свежая версия — только за деньги. И да, обязательно подтяните английский язык.

Writing your first Django app

Официальное руководство в 7 частях по созданию вашего первого мобильного приложения с использованием Django. Рассчитано на тех, у кого есть хотя бы небольшой опыт работы с Python. Информация подается достаточно сухо, но зато в пошаговом формате и при этом подробно. По окончанию курса, вернитесь к разделу “Tutorials” и увидите еще пару полезных разделов. Один из них посвящен масштабированию приложений, другой — список рекомендуемой литературы для дальнейшего развития.

Django Girls Tutorial

Очень забавный ресурс для посвящения прекрасной половины человечества в мир Django. Огромным плюсом является не только легкая подача информации, но и перевод на русский язык. Знакомство с Django при этом довольно общее, но после него можно смело браться за более серьезные ресурсы — базовые принципы изложены великолепно.

Django Weekly

Ресурс с еженедельными рассылками по Django. Здесь можно найти информацию всем — и новичкам, делающим первые шаги, и тем кому надо глубже продвинуться в каком-то конкретном направлении, и тем профи, кто просто с удовольствием прочитает новую информацию про используемый продукт.

Ultimate Django

Руководство, начинающееся с очень привлекательных слов о зарплате Django -специалистов в США. Не смущайтесь, в остальном, это достаточно качественная онлайн книга, содержащая не только step-by-step уроки по созданию своего первого приложения, но и дальнейшее развитие в виде создания функционала и деплоя.

TaskBuster Django Tutorial

Еще одно очень качественное иллюстрированное руководство с широким спектром затрагиваемых вопросов — помимо работы с фреймворком, это взаимодействие с элементами веба, БД, системой контроля версий, тестирование, настройки и многое другое. Огромным плюсом являются и комментарии, которые оставляют ученики под уроком — там вы отыщите ответы на всевозможные вопросы, которые возникнут по ходу.

Читать еще:  Парикмахерские уроки для начинающих видео

Django на русском

Для тех, кому все-таки английский язык пока не дается, имеется возможность пройти курс от новичка до уверенного разработчика с данным ресурсом. Помимо учебника, здесь есть форум, раздел “Новости”, а также периодически публикуются обзорные узкоспециальные статьи.

Создаем свое первое веб-приложение при помощи Django

Создаем свое первое веб-приложение при помощи Django

    Переводы , 30 января 2017 в 0:28

Django — это Open Source фреймворк для создания веб-приложений различной сложности. Одним из основных преимуществ Django является то, что вам нужно позаботиться только о логике вашего будущего приложения, остальное сделает Django.

Мы создадим веб-приложение, у которого будет панель администратора и возможность загружать загадки, а у пользователей, соответственно, возможность отвечать на них. Во время разработки будут использоваться Python 3.4.3 и Django 1.9.1.

Устанавливаем Django

Делается это очень просто, в командной строке нужно написать: pip install Django==1.9.1 .

Создаем проект

Если вы правильно установили Django, то после запуска django-admin —version вы увидите текущую версию фреймворка. Теперь создадим проект. Это можно сделать следующим образом: django-admin startproject django_example .

Как только создание проекта будет завершено, взглянем на директорию нашего проекта:

  • django_example/__init__.py — пустой файл, который говорит Python, что данная директория должна восприниматься в качестве пакета.
  • django_example/settings.py содержит конфигурацию нашего проекта.
  • django_example/urls.py — здесь объявляются URL.
  • django_example/wsgi.py — с помощью него приложение может работать с веб-сервером по протоколу WSGI.
  • manage.py позволяет взаимодействовать с проектом.

Теперь пришло время запустить наше приложение. Для этого в командной строке нужно написать python manage.py runserver . После этого в адресной строке браузера нужно написать: http://127.0.0.1:8000/ . Если вы увидели «You have unapplied migrations; your app may not work properly until they are applied.», то не волнуйтесь, мы вернемся к этому чуть позже.

Создаем приложение

Определим различие между проектом и приложением. Приложение — это программа, которая что-то делает, а проект — это группа приложений.

Итак, приступим к созданию приложения. Это делается следующим образом: python manage.py startapp riddles .
Как только приложение создано, давайте напишем простой вид, по правилам Django все виды должны храниться в файле views.py .

Теперь, чтобы привязать наш вид к URL, создадим файл urls.py .

В urls.py мы должны написать следующее:

Теперь, если мы запустим наше приложение http://127.0.0.1:8000/riddles/ , мы увидим «Hello, World!».

Установка базы данных

По умолчанию в Django используется SQLite, если она вас не устраивает, то вы можете ознакомиться с нашей статьей, в которой мы рассказываем, как безболезненно перейти с SQLite на MySQL.

Spectrum, Екатеринбург, от 65 000 до 100 000 ₽

Теперь откроем django_example/settings.py и взглянем на переменную INSTALLED_APPS , она хранит все приложения, которые активны в текущем проекте. По умолчанию она содержит:

  • django.contrib.admin — админка, скоро мы ей воспользуемся.
  • django.contrib.auth — система аутентификации.
  • django.contrib.contenttypes — фреймворк для content types.
  • django.contrib.sessions — сессионный фреймворк.
  • django.contrib.messages — фреймворк для отправки сообщений.
  • django.contrib.staticfiles — фреймворк для работы со статичными файлами.

Некоторые из этих приложений используют базы данных, но они еще не установлены, поэтому мы и видели «You have unapplied migrations; your app may not work properly until they are applied.». Поправить это можно следующим образом: python manage.py migrate . Вы должны увидеть следующее:

Теперь создадим нашу модель. Для начала создадим Riddle и Option . В Riddle будет содержаться загадка, в Option — один из возможных ответов на нее.

Данная модель обеспечивает Django информацией, необходимой для создания схемы базы данных и database-access API для доступа к объектам. Теперь нам нужно привязать наше приложение к нашему проекту, делается это следующим образом:

После этого нужно сделать миграцию: python manage.py makemigrations riddles . Вы должны увидеть следующее:

Так мы говорим Django, что в моделях были сделаны некоторые изменения, и их нужно сохранить в качестве миграции.

Проверить, что сделает миграция, можно так: python manage.py sqlmigrate riddles 0001 (0001 — версия миграции, которую мы хотим проверить). На выходе мы получим:

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

Теперь мы можем начать пользоваться панелью администратора. Но для этого нам нужен пользователь. Создать его можно следующим образом: python manage.py createsuperuser . После этого запускаем сервер, если он не запущен, и переходим на http://127.0.0.1:8000/admin/ . Вы увидите следующее:

Теперь дадим админу возможность изменять наши модели. Делается это так:

Вот что получится в итоге:

Возьмите небольшую паузу и поиграйтесь с панелью администратора. Вы будете приятно удивлены тем, что умеет Django.

Главная страница

Что нам нужно для создания главной страницы?

  • Templates: скелет нашей страницы.
  • Views: функция на Python для отображения контента.

Начнем с шаблонов. Создадим папку templates внутри папки riddle , а в ней создадим index.html .

Теперь создадим макет для ответов:

Здесь мы используем csrf_token , он нужен для защиты от межсайтовой подделки запроса, каждая внутренняя форма должна его использовать. Теперь напишем виды для рендеринга наших шаблонов:

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

  • index: Index использует функцию render . На вход она получает HttpRequest, местонахождение шаблона и его содержимое, а возвращает HttpResponse с окончательным html.
  • detail: Detail делает практически то же самое, но только функция get_object_or_404 возвращает HttpResponse404, если нужный объект не был найден.
  • answer: Answer ищет предоставленную загадку (и возвращает 404, если она не найдена) и проверяет правильность ответа.

Теперь добавим наши функции в urls.py :

Добавим немного стилей

Для начала создадим директорию static , а в ней создадим файл main.css .

Немного изменим наши шаблоны:

Первая строка загружает статические файлы, потом мы используем <% static '#' %>, где # — путь к вашему файлу. Аналогичная процедура проводится и для JavaScript.

Теперь вы можете создавать свои собственные приложения на Django.

Исходный код нашего приложения можно скачать по этой ссылке.

Как я изучал(изучаю фреймворк Django). Личный опыт.

Все что далее, — мой личный опыт изучения фреймворка Django. Может быть пригодится таким же новичкам в программировании как и я.

Что нужно знать (необходимый МИНИМУМ) относительно Python:

-Ввод и вывод данных

-Функции и рекурсия

-Работа с модулями и функциями (создание, импортирование, вызов. )

-Основы регулярных выражений

В настоящее время, актуальной версией является Django 2.0. Но я советую начать изучение с версии 1.11. Почему именно так:

1. По Django 2.0 мало различных материалов на русском языке. Для 1.11 материалов достаточно.

2. Django 2.0 и 1.11 очень похожи, но в 2.0 сделали упрощённый синтаксис маршрутизации URL. Из-за этого могут возникнуть сложности на начальном этапе, если пытаться обучаться по материалам основанным на 1.11 версии.

Читать еще:  Уроки по алгебре

3. Большинство готовых приложений и расширений до сих пор поддерживают только 1.11 версию и не поддерживают 2.

4. Расширенная поддержка версии 1.11LTS заканчивается в 2020 году, а 2.2LTS пока не видно.

Итак, расскажу как изучал я. Может быть кому-нибудь покажется полезной данная информация.

I. -НАЧАЛО («копипастим» свой первый проект):

-понять как работает фреймворк(установка, как создается проект, архитектура, как взаимодействуют его основные компоненты — urls, модели, шаблоны, views)

1. Проходим туториал на Django-girls.

Шаг за шагом копипастим и пытаемся понять что вообще происходит.

-Основы работы в консоли Linux

-Создание и работа в виртуальном окружении Python.

-Основы основ Django (urls, модели, шаблоны, views)

Альтернативный вариант (более короткий):

Учебник официальная документация (docs.djangoproject.com/en/1.11 — раздел FirstSteps). Или перевод документации с портала djbook.ru

Версия 1.9 а не 1.11, но в этом нет ничего страшного.

2. Цикл лекций «Web-технологии. Разработка на DJANGO» от Mail.ru

Если не интересны основы-основ про web-разработку (уже знаете или задача быстро освоить Django), тогда начинаем смотреть с «9. Web-технологии. MVC фреймворки | Технострим» и дальше.

-Архитектуре и принципам взаимодействия компонентов, основам Django

3. Книга «Django: практика создания Web-сайтов на Python» Владимир Александрович Дронов:

ссылка: сами кУпите или найдёте.

Читаем главы с 1 по 7. Главу 2 опционально можете пропустить, если знакомы с основами Python.

Выполняем примеры из книги на тестовом проекте — создаем модели, через шелл добавляем-изменяем-сортируем-фильтруем данные в модели, создаем urls привязки, пытаемся писать первый контроллер, смотрим как и что можно сделать в темплейтах.

-Пониманию основ MVC

-Через примеры кода начнет приходить понимание, как все работает.

-Через копипасту проекта в общем виде начали понимать как все устроено и работает

-Через лекции MAIL.ru узнали как работают web-приложения, как выглядит архитектура типичного web-приложения(взаимодействие бекенда-фронтэнда, работа протоколов, общая архитектура), узнали место Django в этой архитектуре

-Через книгу более детально познакомились с паттерном проектирования MVC (что такое модель, контроллер, представление), через примеры кода начали понимать как это может работать.

II. ПРОДОЛЖЕНИЕ НАЧАЛА(продолжаем «копипастить»):

1. Ищем курс «iTBursa Python&Django». Продажу курса уже закрыли (скорее всего видимо потому, что курс попал в открытый доступ). В курсе есть основы Python и Django. Плюсом идут основы: html/css, bootstrap web, http, databases, linux, shell, git/github, nginx, deployment.

Продолжаем копипастить уже по этому курсу, но теперь самостоятельно выполняем «Контрольные задания»(или не выполняем). В принципе этот курс мог бы заменить все вышеперечисленное. Но так как каждый человек воспринимает информацию по разному, ИМХО лучше усвоится информация, полученная из разных (по типу и виду подачи информации) источников.

Дополнительно: курс itvdn-Django от Антона Мазуна

2. Продолжаем читать и перечитывать Дронова

3. Изучаем официальную документацию или перевод документации 1.9(djbook.ru)

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

II. КОНЦА НЕ ВИДНО(создаём свой собственный проект):

Собственно если все делали правильно, на этом этапе должны быть все необходимые знания для реализации собственного проекта. По сути, можно сосредоточиться только на Джанго, а фронтэнд слепить из кусков Bootstrap.

Теперь отправляемся в свободное плавание на просторы интернета. Теперь уже сами ищем статьи, видео, гайды, бестпрактис. Продолжаем читать Дронова и переходим на актуальную версию Django 2.x

Дополнительно можно начать читать:

-Django подробное руководство. Адриан Головатый. Джейкоб Каплан-Мосс. Книга очень старая (2010), многое изменилось, но общие принципы остались те же.

-Tango with Django. Многие советуют эту книгу.

Вот ещё парочка:

-Web Development with Django cookbook

Извиняюсь за возможные орфографические, и в особенности, за пунктуационные ошибки.

ЗЫ. Кстати, в комментах к моему предыдущему посту (Моя история: опыт изучения программирования) и по почте многие высказывали мысль о создании канала в Телеграмм по данной тематике. Такой канал я создал. Не знаю можно ли ссылку(или нет). Называется python_noobs(PythonNoobs). Сейчас там 12 человек(в основном пикабушники с предыдущего поста — всем кому рассылал свою подборку материалов). Создан чисто для новичков. На канале обмениваемся опытом изучение Python и смежных технологий, делимся ссылками на полезные материалы(статьи, видео, гайды, курсы. ), собираем команду для совместных проектов и просто общаемся, чтобы не прокрастинировать 🙂

Популярный язык для новичков: как освоить Python Django с нуля и сколько можно на этом зарабатывать

Python Django — что это и где используется

«Джанго» – это бесплатная платформа для веб-приложений, написанная на языке Python. Она облегчает создание и поддержку технически сложных проектов: сайтов, веб-сервисов и бизнес-приложений. Django включает в себя набор компонентов, которые позволяют разрабатывать эти проекты быстрее и проще.

Фреймворк предлагает готовые шаблоны для использования веб-разработчиками при решении стандартных задач. Например, практически для любого веб-сайта необходимо задать способы регистрации, входа, загрузки файлов. Эти компоненты и объединяет в себе платформа «Джанго».

Что такое, Python Django, рассказывают здесь:

Что нужно знать программисту для работы с Python Django

Для работы необходимо обладать рядом знаний и навыков:

  1. Английский язык для чтения технической документации, исследований и статей.
  2. Основы работы операционных систем.
  3. Структуры данных и основы Python. Эксперты советуют изучать синтаксис по руководству с официального сайта.
  4. Популярные библиотеки Python. Их список можно найти, изучив требования работодателей при поиске вакансий.
  5. Форматы данных HTML и XML.
  6. Протокол HTTP.
  7. Реляционные и noSQL базы данных.

Желательно знание архитектуры информационных систем и Javascript. Среди личных качеств важны аналитический склад ума, системное мышление и умение работать в команде.

Про интересные факты о Django, рассказывают здесь:

Обучение Django-разработчиков

Пройти обучение можно как очно, так и онлайн. IT-академия предлагает практический курс длительностью 5 месяцев, во время прохождения которого можно создать полноценное портфолио.

Занятия проводятся дистанционно или очно 2 раза в неделю.

Учебный центр при техническом вузе разработал программу повышения квалификации. Предварительную подготовку необходимо подтвердить на онлайн-тестировании. Стоимость курса из 40 академических часов составляет 25 тыс. руб. Занятия проводятся в удобное время. По окончании выдается свидетельство и сертификат международного образца. Цена индивидуального курса с личным наставником составляет 93 тыс. руб.

Курсы для начинающих

Онлайн-университет, гарантирующий трудоустройство, разработал специальный курс для чайников. Обучение курирует личный наставник. Программа рассчитана на 1,5 года и включает 2-4 занятия в неделю. Защитив дипломный проект, слушатели получают свидетельство установленного образца и именной электронный сертификат.

Читать еще:  Gamemaker studio 2 уроки

При отсутствии опыта программирования потребуется пройти подготовительный курс, который в период акции предоставляется бесплатно.

Стоимость основного курса начинается от 8,6 тыс. руб. в месяц.

«Школа будущего», созданная по инициативе крупнейшего российского банка, позволяет пройти бесплатное обучение талантливым молодым людям. Очное обучение организовано на принципах командной работы без привычных лекций и семинаров, но с большим количеством практики.

Курс Python-разработчика от нуля до профи можно пройти за 12 месяцев и 58,5 тыс. руб. (2,4 тыс. руб. в месяц). Занятия проходят в формате видеокурсов, домашних заданий и общения с наставником. По окончании слушатели получают дипломы и помощь в подготовке портфолио и резюме.

Можно ли освоить Python Django самостоятельно с нуля

Официальная документация по «Джанго» является одной из лучших среди аналогов. По мнению опытных разработчиков, начинать самостоятельное изучение нужно именно с нее. Кроме того, в сети можно найти учебники по теме в свободном доступе.

Для быстрого старта подойдет, например, Django Girls. Это такой туториал, где за один день можно пройти по азам, понять основы и возможности «Джанго».

Разработчик Международной инвестиционной группы FinEx, Алексей Штырняев

В блоге компании Mail.ru представлен рейтинг наиболее полезных ресурсов от интернет-магазинов. Лидерами списка являются:

  • Д. Форсье, П. Биссекс, У. Дж. Чан «Django. Разработка веб-приложений на Python»;
  • В. Дронов «Django: практика создания Web-сайтов на Python»;
  • W. S. Vincent «Django for Beginners».

Существуют сервисы, позволяющие практиковаться в создании веб-ресурсов. Например, руководство «Writing your first Django app» позволяет пошагово создать мобильное приложение на Джанго. Новичкам и продвинутым пользователям находить актуальную информацию поможет ресурс «Django Weekly», осуществляющий еженедельные тематические рассылки.

Как за час создать программу на Python Django, рассказывают здесь:

С чего начать работу

Злата Обуховская, тимлидер компании NVIDIA, считает, что в резюме необходимо показать минимальное портфолио. Работодателем ценятся проекты, выполненные для заказчиков, а не для себя. Хорошее начало практики – работа на фрилансе. Биржи позволяют отработать знания на практике и сформировать клиентскую базу.

Некоторые обучающие курсы гарантируют трудоустройство или прохождение практики в компаниях-партнерах. На рынке также есть вакансии стажеров и помощников на проекты Python Django. Часть из них не предусматривает оплаты во время прохождения стажировки.

Показать свои навыки потенциальным заказчикам можно на примере личного блога-портфолио, добавив туда информацию об образовании, навыках и разработках. На этот личный проект можно сослаться в резюме при отсутствии другого опыта работы. На позицию Junior можно рассчитывать после окончания курсов, а должность уровня Middle можно получить при опыте успешной работы более 1 года.

Где искать вакансии и сколько можно заработать

По данным портала Trud.com, наибольшее количество вакансий для Python-разработчиков открыто в Башкортостане и Камчатском крае. Самой высокооплачиваемой эта профессия является в Москве. Средний заработок специалиста там составляет 130 тыс. руб. В регионах уровень зарплат ниже столичного:

  • Ленинградская область – 88 тыс. руб.;
  • Республика Татарстан – 75 тыс. руб.;
  • Пермский край – 45 тыс. руб.

В России средняя зарплата программиста Python составляет 94 тыс. руб. Специалисты с опытом работы 3-6 лет в сфере разработки веб-приложений и внушительным списком ключевых навыков в Москве могут рассчитывать на доход 120-220 тыс. руб. в месяц после вычета налогов.

Python Django остается одним из основных фреймворков для создания веб-ресурсов. Это делает специалистов в области разработки востребованными и высокооплачиваемыми. Их зарплата превышает средние показатели по стране более чем в 2 раза, а знания и навыки позволяют трудоустроиться в различных направлениях IT-сферы.

Создаём сайт на Django, используя хорошие практики. Часть 1: создаём django-проект

Я начинаю серию статей, посвященных разработке сайтов на Django. Информация для этих статей получена из собственного опыта (полтора года коммерческой разработки на Django, несколько мелких фриланс-проектов, часть проекта pythonworld.ru написана на Django).

Django — веб-фреймворк для создания сайтов, написанный на языке Python. Язык и является одним из основных его преимуществ, так как обеспечивает быстрое написание кода. Также Django имеет «батарейки в комплекте», что означает, что для многих распространённых задач уже есть написанная библиотека. На текущий момент Django считается основным фреймворком Python для разработки веб-сайтов и веб-сервисов.

Мы будем создавать сервис, который выгружает фриланс-проекты, фильтрует из них те, которые может выполнить Python-программист, а затем показывает пользователям.

У сайта fl.ru есть RSS-ленты (с точки зрения программиста, это XML-файлы, в которых содержится информация о новых проектах). Поскольку это достаточно удобный формат для машинной обработки, данные будем брать оттуда (впоследствие мы подключим и другие источники данных).

Здесь и далее я буду предполагать, что у вас установлено:

  • Linux-based система (Ubuntu 19.10 — прекрасный выбор),
  • Python 3.7 (на ubuntu 19.10 стоит изначально, на более ранние версии необходимо ставить отдельно,
  • PostgreSQL 11.

Ставим зависимости (PostgreSQL), и создаём директорию для проекта:

Создаём и активируем виртуальное окружение (изолированное окружение среды Python, которое позволяет нам использовать определенные, не зависящие от системы, версии приложений):

Далее предполагается, что все команды выполняются в активированном на предыдущем шаге виртуальном окружении.

Создаём проект. Поскольку мы хотим придерживаться хороших практик, будем пользоваться не стандартной django-admin startproject, а создадим проект с помощью шаблона cookiecutter, в котором уже настроены наиболее часто используемые фишки.

При создании проекта необходимо ответить на несколько вопросов

Хорошей практикой является использование системы контроля версий. Такая система позволяет работать над проектом нескольким людям; автоматически делает копии всех предыдущих версий кода, и вы всегда можете к ним вернуться, если что-то пошло не так.

Теперь копия нашего кода доступна на странице нашего github-репозитория.

Установим локальные зависимости

Создаём базу данных в PostgreSQL

Теперь применим миграции

Дело в том, что все настройки, связанные с безопасностью, при создании проекта через cookiecutter хранятся не в файлах с исходным кодом, а в переменных окружения. Это более безопасно, но менее удобно. Каждый раз при перезапуске компьютера необходимо будет экспортировать все переменные окружения.

Есть способ хранения всех относящихся к проекту переменных окружения в специальном .env файле. Создадим в корне проекта файл под названием .env и содержимым

Теперь достаточно сделать

Далее я предполагаю, что каждый раз после активации виртуального окружения вы делаете export DJANGO_READ_DOT_ENV_FILE=true .

Заходим на 127.0.0.1:8000

Как видим, вместо стандартной django-страницы «It works!» cookiecutter предлагает страницу со ссылками на страницы авторизации и регистрации через django-allauth, а также автоматически подключен django-debug-toolbar, показывающий, сколько происходит запросов к различным компонентам и сколько времени они занимают.

Ссылка на основную публикацию
Adblock
detector