Y

yaform

Ini untuk menata form HTML yang lebih ringkas dengan berbekal file YAML.

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