Форум сайта python.su
Подскажите, пожалуйста, как правильно в configure.zcml описать layouts и panels? А также, как в этом же файле привязать конкретный layout к конкретному виду?
мой configure.zcml:
<configure xmlns="http://pylonshq.com/pyramid" xmlns:lat="http://pylonshq.com/pyramid_layout"> <include package="pyramid_zcml" /> <include package="pyramid_layout" file="meta.zcml"/> <static name="static" path="static" /> <!-- layouts --> <lat:layout name="test" layout=".layouts.AppLayout" template="templates/layouts/layout1.pt" /> <!-- default view --> <view view=".views.my_view" renderer="templates/home.pt" /> <view name="two" view=".views.my_view2" renderer="templates/mytemplate2.pt" /> </configure>
<metal:block use-macro="main_template"> <div metal:fill-slot="content"> <h1>It is home view</h1> <p>Hello home.pt template</p> <p>Project is: ${project}</p> </div> </metal:block>
request.layout_manager.use_layout('test')
Офлайн
Я с этим пакетом не работал, но насколько я понял для каждой вьюхи в конфе надо указывать лайоут
Я кажется понял. Ты задал name для layout поэтому надо указывать, если убрать name это будет дефолтный лайоут.
Отредактировано bismigalis (Окт. 10, 2014 10:30:21)
Офлайн
Да, надо указывать имя лайаута для вида.
Если все сделать в коде с использованием декораторов, то все прекрасно работает. Но как это же сделать в zcml - не понимаю.
Офлайн
Я вообще не нашел в доках pyramid_layout про zcml настройку, но по аналогии с декоратором может так:
<view view=".views.my_view" renderer="templates/home.pt" layout="test" />
Офлайн
Я аналогично думал, сразу так и написал - не работает. Ругается что ConfigurationError: ('Unrecognized parameters:', ‘layout’);
если в конфигурации вида записать
<view view=".views.my_view" renderer="templates/home.pt" lat:layout="test" />
- Expression: "main_template" - Filename: ... o\python_test\pyramid7\myzcml1\myzcml1\templates\home.pt - Location: (line 1: col 24) - Source: <metal:block use-macro="main_template">
Офлайн
получается main_template не прокидывается
что-то мне кажется поддержка zcml должна быть в самом пакете и в pyramid_layout ее нет
спроси-ка лучше в рассылке
Офлайн
спасибо, попробую
Офлайн
it is necessary to specify the name of layauta for the species.
Офлайн