我必须创建一个多页表单,并且想知道我是否可以关注辅助函数的Pylons文档来在CKAN中构建表单?
CKAN中是否有任何文档用于创建表单?请提出最佳方法。
答案 0 :(得分:6)
CKAN表单通常导入位于ckan / templates / macros中的一些宏。看看form.html,你就会明白这个想法。另请参阅其中一个示例(ckanext / example_idatasetform)。
基本上你用{% import 'macros/form.html' as form %}
导入宏,然后使用这些宏构建表单,如下所示:
{% block package_basic_fields_custom %}
{{ form.input('custom_text', label=_('Custom Text'),
id='field-custom_text', placeholder=_('custom text'),
value=data.custom_text, error=errors.custom_text, classes= ['control-medium']) }}
{% endblock %}
AFAIK没有关于如何在CKAN中创建表单的特殊文档。您应该查看ckan / templates / package
中的相关模板答案 1 :(得分:0)
是的,在/usr/lib/ckan/default/src/ckan/ckan/templates/macros/form.html
的评论中以及Frontend Development Guidelines, under Templating的评论中都有CKAN 2.6.0a的内置表单元素宏的文档。
请注意,文档会告诉您添加以下行:
{% import 'macros/form.html' as form %}
但是如果你要覆盖现有模板(使用{% ckan_extends %}
),通常不必添加此导入行,因为它通常已经存在,或者已经包含在父模板中。