在CKAN中是否有任何辅助函数来构建表单?

时间:2013-07-10 23:31:29

标签: ckan

我必须创建一个多页表单,并且想知道我是否可以关注辅助函数的Pylons文档来在CKAN中构建表单?

CKAN中是否有任何文档用于创建表单?请提出最佳方法。

2 个答案:

答案 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 %}),通常不必添加此导入行,因为它通常已经存在,或者已经包含在父模板中。