我必须创建一个多页表单,并且想知道是否可以按照 Pylons 文档中的辅助函数在 CKAN 中构建表单?
CKAN 中是否有任何用于创建表单的文档?请建议最好的方法。
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 中的相关模板
/usr/lib/ckan/default/src/ckan/ckan/templates/macros/form.html
是的,在 Templating 下的评论和前端开发指南中都有 CKAN 2.6.0a 的内置表单元素宏的文档。
请注意,文档告诉您添加以下行:
{% import 'macros/form.html' as form %}
但是,如果您要覆盖现有模板(使用{% ckan_extends %}
),您通常不必添加此导入行,因为它通常已经到位,或者已经包含在父模板中。