Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 3, 2009 14:01:43

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключаемая архитектура приложений

В терминах Pylons, Django разработан так, что связка модель-шаблон-контроллер создается в отдельной папке. Такой подход дает возможность отдельно разрабатывать приложения(блог, форум, объявления, хранилище и прочие) и в своих проектах комбинировать их, легко расширяя функциональность сайта. Меня интересует такая же возможность в Pylons. Я давно поднимал этот вопрос но отывета не нашел.



Офлайн

#2 Авг. 3, 2009 16:30:52

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Подключаемая архитектура приложений

Так сделай отдельно, а потом в route map подключи. В чем проблема?



Офлайн

#3 Авг. 3, 2009 18:23:13

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключаемая архитектура приложений

Проблема в том, что я не представляю как это подключить. Можно пример?



Офлайн

#4 Авг. 4, 2009 18:47:22

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Подключаемая архитектура приложений

Ну как же. Есть config/routing.py

"""Routes configuration

The more specific and detailed routes should be defined first so they
may take precedent over the more generic routes. For more information
refer to the routes manual at http://routes.groovie.org/docs/
"""
from pylons import config
from routes import Mapper

def make_map():
"""Create, configure and return the routes Mapper"""
map = Mapper(directory=config['pylons.paths']['controllers'],
always_scan=config['debug'])
map.minimization = False

# The ErrorController route (handles 404/500 error pages); it should
# likely stay at the top, ensuring it can always be resolved
map.connect('/error/{action}', controller='error')
map.connect('/error/{action}/{id}', controller='error')

# CUSTOM ROUTES HERE

map.connect('/{controller}/{action}')
map.connect('/{controller}/{action}/{id}')

return map
А что мешает перед последней строкой насовать еще third-party контроллеров?
Да, общего ORM с админкой нет. А еще пилон смотрит в lib(app_globals, base, helpers). Так что прийдется подумать, как куски соединять. Но - ничего сложного быть не должно.

Есть еще вариант делать свои middleware, но я столько читал о том, что как раз для подобной задачи middleware не предназначен, хотя технически и возможно.



Офлайн

#5 Авг. 6, 2009 08:05:10

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключаемая архитектура приложений

Что такое third-party контроллер? Я совсем не понимаю как это работает. У меня есть два проекта, в первом я настраиваю роутинг, но куда? В каком месте склеиваются проекты? Где расположится второй проект по отношению к первому? На словах я не раз слышал, что все это возможно и легко делается, но наглядных примеров до сих пор не увидел :-(. Я думаю многим это было бы полезно. Странно что в документации этого нет, а очень нужная вещь.



Офлайн

#6 Авг. 13, 2009 15:53:57

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Подключаемая архитектура приложений

А композитные приложения не помогут случайно http://pylonsbook.com/en/1.0/pylons-internal-architecture.html#composite-applications ?



Отредактировано (Авг. 13, 2009 16:06:01)

Офлайн

#7 Сен. 21, 2009 17:03:27

Naota
От:
Зарегистрирован: 2007-06-04
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Подключаемая архитектура приложений

ziro спасибо) сам только, что наткнулся на это чудо :) зашел поделится а уже поздно :)



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version