Как-то не хочется говорить о преимуществах Django, для новичка в веб-программировании эти
слова будут как пустой ветер, а те кто уже имеет опыт легко разберутся что к чему зайдя на
главную страницу проекта.
Я лишь приведу понравившеюся мне цитату из блога Романа Ворушина:
Если есть языки программирования, фреймворки, технологические подходы, позволяющие вместо 10000 строк писать, отлаживать и поддерживать всего 1000 строк, то это может быть огромным преимуществом, даже если более компактный язык менее распространен или менее производителен. Проектов, умерших от того, что они не справились с наплывом пользователей, намного меньше, чем тех, что угасли, так и не дойдя до бета-версии.
Читать дальше
Перед тем как начать изучать различные web платформы было бы неплохо понять как делаются сайты без них.
Скажем на голом python. В этой записи опишу маленький эксперимент с CGI на различных языках программирования.
Переходим в рабочую папку(у меня /home/german/work/python) и создаем текстовый test_python.cgi файл и пишем туда следующее:
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """
<html><head></head><body><h1>Hello world!</h1></body></html>
"""
Если у вас Windows, то в начале файла должно быть путь к python.exe, например так #!C:\Python27\python.exe -u вместо #!/usr/bin/env python.
На Windows я этого делать не пробовал, но думаю должно делаться аналогично.
Не уверен что это требуется, но делаем файл executable. В Windows так сделать нельзя.
chmod a+x ./test_python.cgi
Мы сделали запускаемый скрипт. Можно его запустить в командной строке. На выводе получим следующее.
Content-Type: text/html
<html><head></head><body><h1>Hello world!</h1></body></html>
Теперь нам как-то надо прикрутить этот скрипт к сайту, а точнее сделать этот скрипт доступным по какому-то url.
При каждом обращении по какому-то url будет выполняться данный скрипт, а вывод будет отправляться клиенту.
Далее...
Про HTML
HTML - стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
Да, и в принципе этим все сказано. Теперь немного о том как писать на HTML.
Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных (например, тег перевода строки
). В этом случае обычно не указывается закрывающий тег. Кроме того, элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:
<strong>Текст между двумя тегами — открывающим и закрывающим.</strong>
<a href="http://www.example.com">Здесь элемент содержит атрибут href.</a>
А вот пример пустого элемента: <br />
Эта цитата с википедии, цитировать еще больше как-то неудобно, так что советую
прочитать вот эту вводную часть на вики.
На W3C можно посмотреть весь список HTML тэгов.
Я не вижу смысла писать что-то еще о HTML, для начинающего этого знания достаточно.
Теперь лишь надо взять справочник и пытаться, что-нибудь сообразить.
Вот первые два сносных ресурса выданные гуглом
http://html.manual.ru/, http://htmlbook.ru/.
Я же дальше попытаюсь описать самые популярные теги и общие случаи.
- Тэги
<h1></h1>, <h2></h2>, <h3></h3>, <h4></h4>, <h5></h5>, <h6></h6> являются заголовками. Не стоит их использовать не по назначению,
скажем, просто для выделения текста. Заголовки должны нести в себе некое общее описание следующего текста ...
Подробнее о HTTP.

Есть клиент, который делает запрос. Есть сервер, который отвечает на запросы клиента.
На простых сайтах, сервер сам по себе ничего не делает, то есть нет запросов нет активности.
В прошлый раз мы сравнивали сервер с прохожим, на самом деле, если прохожего сравнить с сервером,
то эти прохожие будут стоять как столбы по всему городу и даже не будут двигаться, до тех пор
пока кто-нибудь не подойдет и не спросит у них что-нибудь.
Сам HTTP протокол не имеет свойство запоминания клиента (сессии) по этому каждый
следующий запрос от того же клиента рассматривается как отдельный, независимый HTTP запрос.
Если вы играли в квесты, то там часто встречается такой момент, что когда подходишь к какому-то
персонажу и пытаешься поговорить, он все время отвечает одно и то же или у него крутится несколько фраз,
и только при изменении каких-то обстоятельств, персонаж может выдать что-то новое.
Аутентификация на сервере реализуется уже над HTTP протоколом по средствам передачи Cookie в
заголовках запроса, но это к HTTP уже не относится. Протокол HTTP примитивен. Запрос состоит из трех частей:
- Стартовая строка. (GET /resource HTTP/1.0)
- Заголовки
- Тело сообщения
Для чего вообще нужны заголовки? Говоря обычным языком для передачи вспомогательной информации.
Есть стандартные заголовки, а можно передавать еще что-то свое. Браузеры будут просто игнорировать незнакомые заголовки.
Для разработки сайта это не нужно, но все равно полезно знать.
Например Content-Type - это стандартный заголовок, несет в себе информацию о том какого формата сообщение(пункт 3).
В прошлом посте я упоминал, что по HTTP протоколу можно передавать не только HTML, но и обычный текст ...
Планирую написать серию постов, которые в первую очередь помогут мне подготовить материал для лекций для SDU Summer Programme 2011 о веб-программировании и о веб-плотформе Django.
Цель лекций не научить ребят делать сайты быстро, а в первую очередь сделать введение и добиться понимания того как это работает.
Статьи будут ориентированы для программистов, не имеющих опыта разработки сетевых приложений, сервисов, сайтов.
Я пока мало опытный писатель, пишу все, что приходит в голову и меня частенько заносит в сторону. То что не особо по теме буду выделять в отдельный блок.
поехали ...