Уведомления

Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Июнь 7, 2007 10:06:57

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

Мне нужно написать простое веб-приложение для интранета. Решил - если есть такая возможность то можно потренироваться на питоне написать.
Для экспериментов решил выбрать TurboGears. Раньше работал только с PHP+Smarty, поэтому о MVC я не то что не знаю - а и не понимаю что это такое.
Есть ли документация по тому как сделать с помошью TurboGears простой сайт на одну страницу используя шаблоны?



Офлайн

#2 Июнь 7, 2007 10:24:33

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1932
Репутация: +  72  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

На официальном сайте есть туториалы

http://docs.turbogears.org/1.0/Wiki20/Page1
http://docs.turbogears.org/1.0/TodoList

или вам необходимо на русском?



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

Офлайн

#3 Июнь 7, 2007 10:35:54

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

securelord
Для экспериментов решил выбрать TurboGears. Раньше работал только с PHP+Smarty, поэтому о MVC я не то что не знаю - а и не понимаю что это такое.
Об этом в статье Википедии можно глянуть. Если вкратце – это способ отделения мух от котлет.

securelord
Есть ли документация по тому как сделать с помошью TurboGears простой сайт на одну страницу используя шаблоны?
Ещё видео можно глянуть. Очень интересно смотреть как работает другой человек :)



Офлайн

#4 Июнь 7, 2007 10:39:31

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

смотреть http://files.turbogears.org/video/20MinuteWiki2nd.mov и делать примеры по http://docs.turbogears.org/1.0/Wiki20/Page1 лучше параллельно :)



Офлайн

#5 Июнь 7, 2007 12:01:55

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1932
Репутация: +  72  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

мне еще очень пригодился проект WhatWhat в качестве примера



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

Офлайн

#6 Июнь 8, 2007 15:13:20

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

Спасибо. Материала накидали мне предостаточно… особенно видео - супер!
Только напрашивается вопрос - как работает КИД? Почитал перевод на этом сайте - как то слету понять не получилось. Какие аналогии между ним и Смарти? Логика cайта получается пишется через controllers.py?



Офлайн

#7 Июнь 8, 2007 15:54:42

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

securelord
Спасибо. Материала накидали мне предостаточно… особенно видео - супер!
Только напрашивается вопрос - как работает КИД?
А вы попробуйте просто реализовать что-либо по примерам с сайта. Если что-то непонятно, спрашивайте.

securelord
Какие аналогии между ним и Смарти?
Они оба – шаблонные движки ;) По правде сказать, не логично задавать вопрос по PHP сообществу Python. Лучше сформулировать два вопроса:

* что же я хочу сделать?
* что у меня не выходит сейчас?

и выкинуть их сюда. Вероятность получения помощи в этом случае значительно возрастёт.

securelord
Логика cайта получается пишется через controllers.py?
Да. В этом файле хранится набор MVCшных Контролёров. В шаблонах логику лучше не реализовывать. Дорого обходится в последствии.



Офлайн

#8 Июнь 8, 2007 16:16:10

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

securelord
Только напрашивается вопрос - как работает КИД?
можешь почитать доку на русском = http://python.com.ua/translate/kid/
и на английском == http://kid-templating.org/language.html



Офлайн

#9 Июнь 8, 2007 16:38:16

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

Maximbo

Спасибо вам за такое подробнее разжевывание.
Тогда поступим немного по другому:

class Root(controllers.RootController):
@expose(template="wiki20.templates.main")
def index(self , pagename="FrontPage"):
page = Page.byPagename(pagename)
content = publish_parts(page.data, writer_name="html")['html_body']
return dict(data=content, page=page)
Можно подробно пояснить каждую строку кода, что она делает и что возвращает?



Офлайн

#10 Июнь 8, 2007 18:51:27

Maximbo
От:
Зарегистрирован: 2006-11-04
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

поиск документации по TurboGears для новичка и немного вопросов

securelord
Можно подробно пояснить каждую строку кода, что она делает и что возвращает?
Не вопрос.

@expose(template="wiki20.templates.main")
@expose – это декоратор. Он говорит системе: “данные, возвращаемые методом index будут показаны через шаблон (view в MVC) wiki20/templates/main.kid”

def index(self , pagename="FrontPage"):
Объявляет метод класса (controller в MVC) index. pagename – параметр, передаваемый в него пользователем при запросе. По-умолчанию равен “FrontPage”

page = Page.byPagename(pagename)
Эта строка вынимает из таблицы page в БД (model в MVC) объект страницы с pagename == pagename (который передали вторым аргументом index)

content = publish_parts(page.data, writer_name="html")['html_body']
Тут содержимое объекта page рендерится в html через стандартную библиотечную ф-цию publish_parts. Не имеет прямого отношения к TG.

return dict(data=content, page=page)
Метод index возвращает словарь (dict). Позднее его содержимое будет использовано в шаблоне “wiki20/templates/main.kid”



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version