С чего начать изучение веб разработки на Python, человеку абсолютно не знакомому с backend?
Работа с веб отличается от работы с не-веб одной простой вещью:
- сервер (апач, нжинкс и т.п.) получает запрос (а запрос - это строка) от браузера,
- сервер обращается к приложению, передавая ему эту строку как аргумент,
- приложение возвращает результат (тоже строку),
- сервер отдаёт полученную строку в браузер.
Конкретно для питона такое подключение скрипта к веб-серверу решается с помощью WSGI.
Как это сделать. В настройках веб-сервера вы указываете документ_рут вашего приложения и скрипт с колбэком. Конфигурация для апача:<VirtualHost *:80>
     ServerName mysite
     DocumentRoot /var/sites/mysite/public
     WSGIScriptAlias / /var/sites/mysite/script.wsgi
 </VirtualHost>
Колбэк - это функция в глобальном неймспейсе, называющаяся всегда application. Выглядит она примерно так:def application(environ, start_response):
    status = '200 OK' 
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]
Когда апач получит запрос - он через wsgi запустит функцию application, а полученный от неё результат выдаст в ответ на запрос.
Это всё, что нужно для понимания, как обрабатывать http-запросы из питона. Всякие джанги работают на этом же механизме.
Теперь неочевидный нюанс. Дело в том, что обычно апач в нормальном состоянии отдаёт статику как статику. А если подключить к нему wsgi - то wsgi начнёт перехватывать и запросы к статике тоже. В джанго такая ситуация решается через жопу (что доказывает, что джангодрочеры - альтернативномыслящие), а именно: предлагается создать поддомен для статики и раздавать её сервером без wsgi, нжиниксом каким-нибудь, либо отдавать статику скриптом. Оба варианта, мягко говоря, спорные. Я считаю намного лучше и гибче третий вариант:<VirtualHost *:80>
     ServerName mysite
     DocumentRoot /var/sites/mysite/public
     RewriteEngine on
     RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
     RewriteRule (.*) /index.py/$1 [L,QSA,PT]
     WSGIScriptAlias /index.py /var/sites/mysite/script.wsgi
  </VirtualHost>
(Обсуждается здесь.)
Я имею небольшой опыт программирования на питоне под Google App Engine (AE). Просто опишу как я учился.
Сначала я сам долго пытался читать и понимать документацию по AE. Знаний по питону у меня было не достаточно, вернее не было уверенности, что смогу написать. Потом вышли курсы от udacity.
Сначала прошёл курс по питону. Курс на английском, но т.к. всё визуализируется, то и с минимальными знаниями всё понятно. Потом прошел курс по веб программированию там же. Основные концепции я почерпнул и этого оказалось достаточно.
Теперь про AE специфичные знания, их можно получить из документации (на англ.) и видео с конференций, их не много и они очень информативные. К примеру, как строить модель данных на datastore.
Тут все прямо таки сильно советуют Django, но у меня ни разу не было момента, когда мне не хватало бы функциональности webapp2, который делался гуглом. В общем решать вам.