Как повысить эффект от книг и быстро стать программистом

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

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

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

Очень простой способ заставить работать django на сервере

Для понятности, давайте определимся:

  • # домашняя директория — /home/vasia/
  • # директория с сайтами — /home/vasia/sites/
  • # папка сайта — /home/vasia/sites/mysite.com/
  • # папка проекта django — /home/vasia/sites/mysite.com/mysite

Читать далее Очень простой способ заставить работать django на сервере

Настройка веб-сервера для Django с nginx и uWSGI

Для запуска Django сервера можно использовать любой веб-сервер с поддержкой WSGI. В данной статье мы по шагам разберем процесс настройки веб-сервера для Django с использованием nginx и uWSGI. Те же принципы можно применить и при использовании другого веб-сервера.

Шаги для запуска веб-сервера для хостинга Django:

  • Приобрести сервер
  • Установить системные пакеты
  • Подготовить виртуальное окружение
  • Создать каталог и залить проект
  • Установить необходимые зависимости
  • Настроить веб-сервер и uWSGI

Если вы хотите разобраться в деталях настройки сервера для хостинга Python (Django) проекта — то я рекомендую прочесть статью  http://itman.in/uwsgi-python-hosting/

Здесь же собраны только необходимые действия для запуска Django проекта на пустом Ubuntu сервере с использованием uWSGI.

Читать далее Настройка веб-сервера для Django с nginx и uWSGI

Мультиязычность в Django — переводим модели

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

Для перевода информации в базе данных, используемую Django, вы можете или заранее задать структуру, предусматривающую нужную языки, или воспользоваться приложением modeltranslation, которая позволяет перевести нужные поля модели, не меняя саму модель и структуру базы данных.

Подробно про перевод шаблонов и создание файлов перевода —http://itman.in/django-translation/. В данной статье описан вариант перевода моделей с помощью django-modeltranslation.

Читать далее Мультиязычность в Django — переводим модели

Мультиязычный сайт на Django — переводим проект на разные языки

Для добавления вашему сайту на Django нескольких языков, в типовом проекте нужно перевести несколько вещей:

  • меню сайта
  • модели, информацию, которая хранится в базе данных
  • текст в шаблонах

Для некоторых проектов также понадобится перевести сообщения, которые получает пользователь, но на большинстве сайтов это не используется. Читать далее Мультиязычный сайт на Django — переводим проект на разные языки

Как просмотреть все URL в Django

Чтобы просмотреть все определенные в Django-проекте шаблоні URL, можно использовать следующий небольшой код:

import urls

def show_urls(urllist, depth=0):
    for entry in urllist:
        print "  " * depth, entry.regex.pattern
        if hasattr(entry, 'url_patterns'):
            show_urls(entry.url_patterns, depth + 1)

show_urls(urls.urlpatterns)

Читать далее Как просмотреть все URL в Django

Как Django обрабатывает URL

https://docs.djangoproject.com/en/1.5/topics/http/urls/

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

Где хранить шаблоны в рамках Django проекта

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

При этом для внутри templates лучше создать отдельные папки с названиями приложений, а уже в них помещать непосредственно шаблоны, чтобы избежать путаницы.

Если вы делаете переносимое приложение, что каталог templates с шаблонами для него лучше создавать внутри каталога приложения.

Хостинг Python проекта — настройка uWSGI по шагам

Разберем по шагам процесс и детали настройки хостинга для Python проекта с использованием uWSGI на примере Django.

Кроме nginx и uWSGI на сервере вам понадобятся PIP и Virtualenv-wrapper, а также Python dev packages. Читать далее Хостинг Python проекта — настройка uWSGI по шагам

Django — как сохранить введенные данные

Django предоставляет инструменты для сохранения и загрузки в базу введенных данных. Данные могут быть сохранены в форматах JSON, XML, YAML. По-умолчанию используется JSON.

Чтобы сохранить все данные, достаточно выполнить команду:

python manage.py dumpdata --indent=4 > initial_data.json

Читать далее Django — как сохранить введенные данные