dm.zope.schema

Software screenshot:
dm.zope.schema
Software ətraflı:
Version: 2.0
Tarixi Upload: 14 Apr 15
Geliştirici: Dieter Maurer
Lisenziya: Pulsuz
Məşhurluq: 3

Rating: nan/5 (Total Votes: 0)

dm.zope.schema zope.schema üçün uzantıları var.
Modules
yoxlamaq
A yoldaş interfeys şeması hissəsi üçün zope.interface.verify üçün.
Bu funksiya verify_schema var (iFace, obj, kontekstində = Yox, check_declaration = True) interface iFace ki, obj cavab şeması hissəsi doğrular. Şema sahələri Onlar təsdiq edilə bilər əvvəl kontekstində bağlı almaq lazımdır. kontekstində obj bu kontekstində və yetirilməməsi müəyyən edir. obj iFace privide bəyan çek check_declaration.
şeması
Baş SchemaConfigured mixin sinif edir. Bu SchemaConfigured əldə sinif tərəfindən həyata keçirilən interfeys şeması hissəsi görə konfiqurasiya dəstəkləyir. Siz olan şeması gəlir interfeys nəzarət etmək istəyirsinizsə, sinif atributu SC_SCHEMAS istifadə edə bilərsiniz: onun dəyəri Yoxdur (tətbiq interfeys avtomatik olaraq şeması əldə) bir interface və ya interfeys bir tuple olmalıdır. (Onların əsasında sinif OFS.SimpleItem.SimpleItem sahələri çox güman ki, sizin şeması istəmirəm interfeys bir çox həyata keçirir kimi) şeması müəyyən etmək üçün istifadə interfeys üzərində aydın nəzarət alaraq Zope 2 şeması konfiqurasiya content siniflər üçün xüsusilə vacibdir.
mixin sinif SchemaConfiguredEvolution (ZODB) davamlı obyektlər üçün şeması təkamül dəstək verir. Onun __setstate__ sizin şeması üçün yeni sahələri əlavə və hələ o uzadılması əvvəl yaradılmışdır hətta müvafiq obyektlərin bütün müvafiq atributları tapa bilərsiniz, belə ki, obyekt atributları itkin edər. Qeyd: effektiv olması SchemaConfiguredEvolution üçün, erkən (persistent.Persistent əvvəl) metodu qətnamə üçün (MRO) gəlmək lazımdır. Ayrı sinif və onun xüsusiyyət SchemaConfigured özü (MRO gec SchemaConfigured üçün yaxşı səbəbləri ola bilər) daxil deyil buna görə. SchemaConfiguredEvolution istifadə alternativ olaraq, yeni sahələri üçün sinif səviyyəsində müəyyən default dəyərlər istifadə edə bilərsiniz.
Bəzən, funksiyaları schemaitems və schemadict faydalı ola bilər. Onlar müvafiq olaraq id siyahısı sahə cüt və ya bir lüğət kimi bir interfeys və ya interface dəqiqləşdirilməsi şeması hissəsi çıxarış.
sahəsində Object zope.schema.Object üçün bir əvəz edir. Sonuncu lazımsız çətin təsirə məruz qalan sahələrin müəyyən edir qiymətləndirmə səhvlər sahəsində məlumat (https://bugs.launchpad.net/zope.schema/+bug/620324) yoxdur. Bəzən, bir təsdiq obyekt aydın interfeys təmin etmək üçün bəyan çek yatırmaq istəyir. Obyekt Bu (True yetirilməməsi) nəzarət üçün əlavə əmlak check_declaration var.
propertymanager
Bu modul bir şeması əsasında OFS.PropertyManager.PropertyManager yarımsinif həyata keçirir. _properties xassələri izah sinif və ya onun hallarda saxlanılır, lakin təmin (müvafiq olaraq həyata) şemaları əldə deyil atributu. Bu an üçün, xassələri (başqa şeması təmin edərək başqa) bir misal əsasında səviyyədə uzadıla bilməz.
zope.schema mətn təmsil unicode istifadə edir. Prinsipi dəstək unicode xassələri bilərsiniz PropertyManager. Bir səhv / zəiflik, əmlakının idarə səhifə yalnız management_page_charset müəyyən deyil zaman düzgün emal və ya dəyəri UTF-8 var səbəbindən Lakin, (yuxarı halda yazım qeyd!). Management_page_charset.upper () UTF-8 fərqli bir dəyər verir halda ismarıcları unicode xassələri istifadə edin. Biz də management_page_charset üçün yuxarı halda imla Zope nin axmaq təkidi keçici bir mixin sinif WorkaroundSpelling_management_page_charset təmin edir.
Bu an üçün, aşağıdakı sahəsində növləri dəstəklənir: Text, TextLine, Bytes, BytesLine`, Bool, Int, TextLine və ya BytesLine bir dəyər növü ilə float və siyahısı. Digər növləri NotImplementedError çıxaracağıq.
modul dm.zope.generate leverage həyata keçirilir. Alternativ "zope.formlib" və qondarma əlavə formaları istifadə əsasında nəsil müəssisələrində həyata keçirilməsi olardı. Təcrübə asılı olaraq, bu alternativ keçmək bilər.
forma
modul default redaktə (SchemaConfiguredEditForm) və dm.zope.schema.schema.SchemaConfigured üçün ekran (SchemaConfiguredDisplayForm) formaları müəyyən edir.
Bu zope.formlib asılıdır.
widget
Timedelta sahələri üçün ekran və redaktə widgets təmin edir, parol sahələri üçün layiqli ekran widget (cleartext default ekran parol) və forma redaktə zaman parol dəyər təmin etmək üçün məcbur deyil Parol üçün giriş widget.
Bu older Zope versiyasını və yeni olanları zope.formlib haqqında zope.app.form asılıdır.
Z2
Bu subpackage şeması bağlı birləşdirir və Zope 2 funksionallıq. Yeni Zope versiyasını, bu five.formlib asılıdır.
forma
modul Zope 2 istifadə üçün dm.zope.schema.schema.SchemaConfigured üçün u mənim redaktə (SchemaConfiguredEditForm) və ekran (SchemaConfiguredDisplayForm) formaları müəyyən edir.
Bu zope.formlib asılıdır.
konstruktor
Bu modul dm.zope.schema.schema.SchemaConfigured əsasında siniflər üçün bir əlavə et forması sinif SchemaConfiguredAddForm və (Zope 2 "konstruktor" adlanır) bir əlavə et forması nəsil üçün bir fabrik add_form_factory ehtiva edir. yaradılan əlavə forma adətən registerClass üçün inşaatçılar parametr hissəsi kimi istifadə olunur.
add_form_factory parametrlərə malikdir:
& Nbsp; adı default təsviri
& Nbsp; forma yaratmaq üçün sinif class_
& Nbsp; title title şəklində göstərilir class_ misal yaradın
& Nbsp; təsviri sinif _.__ şəklində göstərilir sənədlərin doc__
& Nbsp; SchemaConfiguredAddForm forması sinif form_class istifadə ediləcək
add_form_factory dm.zope.schema.schema.SchemaConfigured sinif class_ bir həyata şemaları ilə müəyyən sahələri ilə bir zope.formlib forma yaradır.
Bu modul dm.zope.generate.constructor kimi. Sonuncu PropertyManager based dərsləri dəstəkləyir isə Lakin, SchemaConfigured based siniflər üçün çalışır.
şablon
Keçirmək və Zope standart ZMI interfeys ərzində 2 şeması konfiqurasiya content obyektlərin redaktə edə view səhifə şablon form_template təmin edir.
nümunələri
Quraşdırma: Bu iki şemaları S1 və S2, mən və sinif C şemaları və interfeys həyata SchemaConfigured irəli gələn bir interfeys müəyyən edir.
>>> Zope.interface idxal Interface, tətbiq, providedBy dən
>>> Zope.schema idxal Int dən
>>>
>>> Dm.zope.schema.schema idxal SchemaConfigured
>>> Dm.zope.schema.verify idxal verify_schema dən
>>>
>>> Sinif S1 (Interface): i1 = Int (default = 0)
...
>>> Sinif S2 (Interface): i2 = Int (default = 1)
...
>>> Sinif I (Interface):
... Def metodu (): pass
...
>>> Sinif C (SchemaConfigured):
... Həyata keçirir (S1, S2, I)
... Def üsulu (özünü): pass
...
C hallarda şeması sahələri müvafiq atributları var. Heç bir dəlilləri qurucusu verilir, onlar dəyəri sahə default almaq. Təmin (söz!) Dəlilləri u mənim yalnış düçar edər.
>>> C = C ()
>>> C.i1
0
>>> C.i2
1
>>> C = C (i1 = 5)
>>> C.i1
5
konstruktor tez imla səhvləri aşkar etmək üçün şeması müəyyən edilməyib söz dəlilləri rədd edir. Lakin bu __init__ metodu sinif iyerarxiyasını super istifadə mane olur. Bəlkə, gələcək versiyaları bu çek nəzarət etmək üçün bir vasitə təmin edəcək.
>>> C = C (x = 5)
Traceback (ən son zəng, son):
& Nbsp; ...
TypeError: Qeyri şeması söz dəlil: x
Sahəsində dəyərlər uyğun varsa, C hallarda (verify_schema tərəfindən təsdiq kimi) şemaları təmin edir. Əks halda, verify_schema istisna çıxaracağıq. Bu, misal da verify_schema ibtidai istifadə nümayiş etdirir.
>>> Verify_schema (S1, c)
>>> C.i1 = None
>>> Verify_schema (S1, c)
Traceback (ən son zəng, son):
& Nbsp; ...
zope.schema.interfaces.WrongContainedType: [(i1, RequiredMissing ())]
Biz obyektlər üçün bir redaktə (və ya ekran) forma yarada bilərsiniz. Form sahələri avtomatik olaraq şeması sahələri üçün yaradılmışdır. formu dərsləri xüsusi sahələri və / və ya widgets təmin etmək üçün yalnış bilər ki, bir customize_fields metodu var.
Oxşar funksionallığı Z2 subpackage ilə Zope 2 üçün mövcuddur.
>>> Zope.publisher.browser idxal TestRequest dən
>>> Dm.zope.schema.form idxal SchemaConfiguredEditForm dən
>>>
>>> Forması = SchemaConfiguredEditForm (c, TestRequest ())
>>> Siyahısı ([form.form_fields ilə f .__ name__ f])
['I1', 'i2']

Bu azad yeni nədir:

  • form dəstək
  • Zope 2 konstruktor dəstək

tələblər

  • Python

Geliştirici digər proqram Dieter Maurer

dm.zdoc
dm.zdoc

14 Apr 15

Şərh dm.zope.schema

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!