3

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

CKAN 中是否有任何用于创建表单的文档?请建议最好的方法。

4

2 回答 2

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 中的相关模板

于 2013-07-11T12:31:51.560 回答
0

/usr/lib/ckan/default/src/ckan/ckan/templates/macros/form.html是的,在 Templating 下的评论和前端开发指南中都有 CKAN 2.6.0a 的内置表单元素宏的文档。

请注意,文档告诉您添加以下行:

{% import 'macros/form.html' as form %}

但是,如果您要覆盖现有模板(使用{% ckan_extends %}),您通常不必添加此导入行,因为它通常已经到位,或者已经包含在父模板中。

于 2016-01-27T18:13:27.847 回答