Меню
Блог Гридина Семёна

Робототехника и автоматизация — это наука о будущем

Рубрики блога

Создаем сайт на Python (Django)

Создаем сайт на Python (Django)

Рассказывали, что в школах дети будут учиться программировать на Python вместо того, чтобы изучать устаревший  Паскаль. Я вспомнил как сам когда-то изучал Паскаль в институте, а потом программировал на С++ и Ассемблере, и мне, конечно же, стало интересно как теперь изучают языки программирования дети и что они успеют за год? Я подошёл к преподавателю и уточнил этот вопрос. Мне ответили, что ученики к концу года построят свой сайт с использованием Django Python. Для этого я изучил основы сайтостроения на Python (Django). Тем, что узнал, я поделюсь с вами в этой статье.

Из этой статьи вы узнаете:

Начинаем работу с Django
День первый. Сотворение виртуального окружения
День второй. Сотворение и структура проекта Django
День третий. Запуск веб-сервера для разработки
День четвертый. Работа с Базами Данных
День пятый. Создание Времени
День шестой. Ваше первое джанго — приложение
День седьмой. Разбор полётов

Всегда приятно с вами пообщаться на страницах блога kip-world, уважаемые читатели. С вами говорит Гридин Семён. В этой статье мы с вами рассмотрим пример создания простейшего сайта на Python (Django).

Начинаем работу с Django

Специалист по созданию сайтов всегда нуждается в надёжном и эффективном фреймворке для работы над веб-проектами. С помощью Django Python вы одинаково легко  разработаете и портал, и контентный проект. Помогут в этом оригинальное объектно-реляционное отображение (ORM) и  встроенный функциональный движок шаблонов.

Важно! В первом Python Django уроке используется версия Django 1.5.

День первый. Сотворение виртуального окружения

Для чего оно нужно? Для удобства! Ведь для комфортной работы с  проектом, библиотек,  установленных в системе, маловато, нужны ещё: собственно интерпретатор Python и дополнительный набор библиотек и модулей. Виртуальное окружение создаётся командой:

где mynewsite – название виртуального окружения.

Помните, что его обязательно активировать командой:

День второй. Сотворение и структура проекта Django

Создадим проект при помощи команды:

Проверьте, появился ли в текущем каталоге новый каталог с названием mynewsite.

Замечание: Django его не использует и он не прописан в файлах конфигурации. Так что не стесняйтесь переименовывать его при необходимости.

Открыв его, вы должны увидеть:

  1. manage.py — скрипт для управления Django-проектом.
  2. каталог mynewsite, со следующими файлами: __init__.pysettings.pyurls.pywsgi.py

manage.py понадобится нам для запуска тестового веб-сервера и подготовки таблицы в базе данных.

А вот с именем внутреннего каталога mynewsite/ будьте аккуратны и указывайте для импорта находящихся в нем файлов вот так:

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

В верхнем mynewsite на каждое такое приложение появится отдельный каталог.

День третий. Запуск веб-сервера для разработки

Приятный сюрприз приготовил нам Django Python в виде уже включенного веб-сервера. Вам надо лишь скомандовать:

и в консоли из каталога проекта и перехода по адресу http://127.0.0.1:8000/ вы увидите поздравления по поводу вашей первой джанго-страницы!

Порадуйтесь тому, что вы снова сделали ЭТО! И продолжите работу.

День четвертый. Работа с Базами Данных

Реальная жизнь, с её реальными проектами обязательно потребует от вас настройки Баз Данных. Само название, SqLite, говорит о том, что это не то что потянет настоящие рабочие нагрузки, но поиграть с функционалом она поможет.

Подключение базы данных к Джанго Питон проекту потребует внести изменения в раздел DATABASES файла mynewsite/settings.py

Для новичков, кто начинает разбираться в программировании Python'a почитайте статью.

Использовать sqlite, укажите django.db.backends.sqlite3 как ENGINE и в параметре NAME пропишите имя файла, в котором будет хранится база.

День пятый. Создание Времени

Будем скромнее, конечно, просто временной зоны! TIME_ZONE, в смысле.

Открываем в браузере http://en.wikipedia.org/wiki/List_of_tz_zones_by_name, выбираем ту зону, в которой будет находится ваш сервер и копируем в settings.py

Если вы всё-таки, несмотря ни на что, опять выбрали Россию, то у вас будет Europe/Moscow

День шестой. Ваше первое джанго — приложение

Проект уже создан и так и хочется к нему что-то ещё приложить!

Но сначала, конечно, надо поставить конкретную задачу. Или взять наконец в руки ТЗ заказчика (ведь оно должно где-то быть?).

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

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

Назовём это приложение mypolls:

Зайдите в новый каталог mypools и проверьте наличие там следующих объектов:

Для работы нашего приложения осталось добавить две модели:

  1. MyPoll — для вопросов и дат публикации опросов.
  2. Choice – для вариантов (в привязке к конкретному вопросу) для голосования и счетчиков голосов, отданных конкретному варианту.

Редактируем файл mypolls/models.py следующим образом:

Django не создаст таблицы в базе данных и ваше приложение не заработает, если вы не внесёте приложение в список INSTALLED_APPS файла settings.py. Откройте файл и добавьте в конец списка ‘mypolls’,

Запустите команду:

А затем, согласитесь с  предложением создать Суперпользователя, а точнее администратора сайта Django.

А теперь, смело запускайте проект и наполняйте его данными!

День седьмой. Разбор полётов

Ошибки разработчика django могут быть самыми разными, в этой статье я не буду раскрывать подробности, приведу лишь некоторые примеры:

  1. Поддержка неподъёмных настроек.
  2. Конфликты имён в статических ресурсах.
  3. Использование для проектных зависимостей глобального окружения Python.
  4. Отсутствие привязки зависимостей в файле requirements.txt.
  5. Пренебрежение представлениями-классов (Class-based Views) и применение консервативных Python-функций.
  6. Написание «толстых» (fat) представлений и «тонких» (skinny) моделей.
  7. Чрезмерно раздутый файл настроек.
  8. Приложение всё-в-одном, плохая структура приложения и некорректное размещение ресурсов.

Вот таким вещам в наше время учат подростков в школах программистов! Между прочим, международные олимпиады прогораммистов с недавнего времени начали проводиться для десятилетних участников. Программирование стремительно молодеет. Читайте мой блог, чтобы быть в курсе популярных тенденций в мире информационных технологий.

С уважением, Гридин Семён

Интересен блог? Подпишись и получай новости на почту

Подписка на новости блога

Вам так же может быть интересно

Оставить комментарий

  • ;-)
  • :smile:
  • :sad:
  • :roll:
  • :razz:
  • :oops:
  • :o
  • :lol:
  • :idea:
  • :grin:
  • :cry:
  • :cool:
  • :???: