Форум сайта python.su
Теперь configure.zcml такой.
Но сам Zope не запускается, осталась какая то ошибка:
сообщает, что один из __init__ получает 3 аргумента, а должен 2.
Это в этом же файле искать?
<configure
xmlns="http://namespaces.zope.org/zope“
xmlns:browser=”http://namespaces.zope.org/browser“
xmlns:i18n=”http://namespaces.zope.org/i18n“
i18n_domain=”GetAbonentData“
>
<class class=”.GetAbonentData.GetAbonent“>
<implements interface=”zope.app.annotation.IAttributeAnnotatable“ />
<factory id=”.GetAbonentData.GetAbonent“ description=”fkejfkrj“ />
<require permission=”zope.View“ interface=”.interfaces.IAbonentData“ />
<require permission=”zope.ManageContent“ set_schema=”.interfaces.IAbonentData“ />
</class>
<interface interface=”.interfaces.IAbonentData“ type=”zope.app.content.interfaces.IContentType“ />
<browser:addMenuItem
class=”.GetAbonentData.GetAbonent“
title=”GetAbonentXMLData“
permission=”zope.ManageContent“
view=”Abonent.html“
/>
<browser:addform
schema=”.interfaces.IAbonentData“
label=”kdfjdkfjjfgkjkgj“
content_factory=”.GetAbonentData.GetAbonent“
arguments=”ul dom kv ls“
name=”Abonent.html“
permission=”zope.ManageContent“
/>
<include package=”.browser" />
</configure>
Офлайн
vakтелепаты, как говорится, в отпуске :) кинь сюда трейсбак.
сообщает, что один из __init__ получает 3 аргумента, а должен 2.
vakэто не обязательно указывать.
xmlns:i18n="http://namespaces.zope.org/i18n"
vakэто не обязательно, хоть zope и выдает предупреждения для нашего удобства. Это полезно, если потом захочешь сделать интернационализацию. В любом случае, когда будешь делать интернационализацию, ты будешь делать один i18n - домен для всего проекта, так что просто назови его названием проекта.
i18n_domain=“GetAbonentData”
vakобычно директивы пространства имен browser все кладутся в поддиректорию browser директории подпакета проекта, в том числе и те, которые для ZMI. Соответственно, addMenuItem и addform тоже более грамотно было бы перекинуть в my_project/my_package/browser/configure.zcml
<include package=“.browser” />
vakболее “human readable” считаются имена вида “abonent.html” или просто “abonent”
name=“Abonent.html”
vakлучше имена файлов называть без прописных букв, типа abonent_data.py
“.GetAbonentData.GetAbonent”>
vakесли в arguments указаны все аттрибуты, то можно вообще это не указывать.
<browser:addform
schema=“.interfaces.IAbonentData”
label=“kdfjdkfjjfgkjkgj”
content_factory=“.GetAbonentData.GetAbonent”
arguments=“ul dom kv ls”
name=“Abonent.html”
permission=“zope.ManageContent”
/>
vakэто ошибка - назначать id для фабрики начинающийчя с точки. Это ведь не адрес, а именно id.
<factory id=“.GetAbonentData.GetAbonent” description=“fkejfkrj” />
Отредактировано (Апрель 4, 2008 13:41:42)
Офлайн
А в принципе можешь приаттачить код проекта если это позволительно, накидаем каркас, пока выходные впереди.
Офлайн
astoonТри раза файл прицеплял - не вижу чтобы сработало.
А в принципе можешь приаттачить код проекта если это позволительно, накидаем каркас, пока выходные впереди.
mod = __import__(mname, *_import_chickens)
File "/home/zope/lib/python/abonent/GetAbonentData.py", line 7, in ?
from abonent.interfaces import IAbonentData
File "/home/zope/lib/python/abonent/interfaces.py", line 7, in ?
class IAbonentData(zope.interface):
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/zope/etc/site.zcml", line 7.2-7.55
ZopeXMLConfigurationError: File "/home/zope/etc/package-includes/abonent-configure.zcml", line 1.0-1.28
ZopeXMLConfigurationError: File "/home/zope/lib/python/abonent/configure.zcml", line 9.4
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
Отредактировано (Апрель 5, 2008 13:47:18)
Офлайн
Честно говоря, не охотя заниматься гаданием на кофейной гуще. Кода-то не видно.
vakЗаархивируй.
Три раза файл прицеплял - не вижу чтобы сработало.
Отредактировано (Апрель 5, 2008 16:05:32)
Офлайн
astoonУпаковал zip-ом.
Честно говоря, не охотя заниматься гаданием на кофейной гуще. Кода-то не видно.vakЗаархивируй.
Три раза файл прицеплял - не вижу чтобы сработало.
хм.. проверил. tar.gz ломается, а вот zip - нормально.
сегодня или завтра уберу ошибки + предложу свой вариант, который будет удобнее дальше развивать.
Отредактировано (Апрель 7, 2008 11:03:25)
Офлайн