Yaform
Ini untuk menata form HTML yang lebih ringkas dengan berbekal file YAML. Pola yang sudah ditetapkan adalah:
+-------------------------------------+ | Judul Panel 1 | +-------------------------------------+ | Label-1 Widget-1 Label-2 Widget-2 | | Label-3 Widget-3 Label-4 Widget-4 | +-------------------------------------+ +--------------------------------------------------------+ | Judul Panel 2 | +--------------------------------------------------------+ | Label-1 Widget-1 Label-2 Widget-2 Label-3 Widget-3 | | Label-4 Widget-4 Label-5 Widget-5 | +--------------------------------------------------------+
Buatlah file views/templates/user/edit.yml
yang berisi:
%YAML 1.2 --- No Title: - user_name - email - groups Bio Data: - tempat_lahir - tgl_lahir Alamat: - alamat - rt col-md-2 - rw col-md-2 - kelurahan - kecamatan - kabupaten - provinsi
col-md-2
adalah contoh class. Bila tidak disebutkan maka digunakan
col-md-6
. Lalu beritahu lokasinya, misalnya di views/user.py
:
import os from yaform import Form here = os.path.abspath(os.path.dirname(__file__)) my_templates = os.path.join(here, 'templates', 'user') Form.default_renderer.loader.search_path.insert(0, my_templates) @view_config(route_name='user-add', template='templates/user/add.pt') def my_view(request): ... form = Form(schema, buttons=buttons) html = form.render(yml_template='edit') return dict(form=html)
Kata edit
berarti akan dicari file bernama edit.yml
di direktori yang
disebutkan oleh my_templates
. Contoh lengkapnya bisa lihat di Web Starter