Веб-программирование и Django
Веб-программирование
- Запросы, ответы, заголовки, состояние сервера
- Отладка веб-приложений с помощью браузера, с помощью curl
Разбор микро-приложения (Django-счетчик) (Исходник)
Про Django
MTV — Model, Template, View (примерно так)
- view ~~ controller
Шаблон Active Record (примерно так)
Диспетчеризация URL на основе иерархического сопоставления с паттернами (так)
Язык шаблонов представления (HTML, и т.п) пример
Минимальная инфраструктура
Python-виртуализация virtualenv
- Учебная БД SQLite3
runserver
Учебный проект на Django — форумчик
- Models, views, templates
- Миграции БД
- Написание HTML-форм и обработка POST-запросов
- Новая модель «Сообщение»
Корбочная админка (django.contrib.admin)
- Выборка и отображение сообщений (выбираем в view, показываем в template)
- Рефакторинг шаблонов
Д/З
В качестве основы взять репозиторий с примером. Каждое изменение сопровождается минимум одним коммитом и публикацией. Пункты, помеченные — необязательные
Обработка урла / — если залогинен, то редиректить на /forum, иначе редиректить на /login
- Общая шапка с навигацией по разделам (toolbar)
Форма добавления сообщений (POST /forum)
Сохранение и отображение автора сообщений (хранить id как ForeignKey, отображать username)
Ответные сообщения (=дискуссии)
Полезная информация
учебный Python-хостинг (если совсем не получается поставить всё локально)
Как получить активированное vinrualenv-окружение по Windows «в один клик»:
Создать ярлык на .bat-файл Проект\Scripts\activate.bat
- Отредактировать этот ярлык так, чтобы
рабочий каталог был Проект
activate.bat запускался не напрямую, а с помощью cmd /k
В получившемся окружении все python-сценарии запускать командой python сценарий (при попытке запустить сценарий просто по имени запустится «невиртуализованный» python)
В принципе, не очень важно, но сценарии лежат не в Проект/bin, а в Проект/Scripts