gpt4 book ai didi

ckan - 向 CKAN 资源添加额外字段

转载 作者:行者123 更新时间:2023-12-01 11:36:52 28 4
gpt4 key购买 nike

我一直在阅读这里的文档,为 CKAN 中的数据集和资源添加一些额外的字段:

http://docs.ckan.org/en/latest/extensions/adding-custom-fields.html

到目前为止,就“清理代码”部分而言,一切都在工作,并且在编辑数据集时会显示我的额外字段。我跳过了标签,继续向资源添加自定义字段,但没有迹象表明可以向这些标签添加自定义字段。这是 plugin.py 的相关部分:

class ExampleIDatasetFormPlugin(p.SingletonPlugin, tk.DefaultDatasetForm):
p.implements(p.IDatasetForm)
p.implements(p.IConfigurer)

def _modify_package_schema(self, schema):
schema.update({
'my_custom_field': [tk.get_validator('ignore_missing'),
tk.get_converter('convert_to_extras')]
})
schema['resources'].update({
'my_custom_field' : [ tk.get_validator('ignore_missing')]
})
return schema

def create_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).create_package_schema()
schema = self._modify_package_schema(schema)
return schema

def update_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).update_package_schema()
schema = self._modify_package_schema(schema)
return schema

def show_package_schema(self):
schema = super(ExampleIDatasetFormPlugin, self).show_package_schema()
schema.update({
'my_custom_field': [tk.get_converter('convert_from_extras'),
tk.get_validator('ignore_missing')]
})
schema['resources'].update({
'my_custom_field' : [ tk.get_validator('ignore_missing') ]
})
return schema

任何人都可以建议可能会出什么问题吗?

最佳答案

本教程中的plugin.py 是对的,但是您还需要在“templates/snippets/”文件夹中添加一个名为“resource_form.html”的.html 文件。将以下代码添加到 resource_form.html 文件中:

{% ckan_extends %}

{% block basic_fields_url %}
{{ super() }}

{{ form.input('custom_resource_text', label=_('Custom Text'), id='field-custom_resource_text', placeholder=_('custom resource text'), value=data.custom_resource_text, error=errors.custom_resource_text, classes=['control-medium']) }}
{% endblock %}

教程忘了讲这个,但是如果你引用Github中的源代码( https://github.com/ckan/ckan/tree/master/ckanext/example_idatasetform/templates/package/snippets ),你可以在这里找到我在说什么!

关于ckan - 向 CKAN 资源添加额外字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26061386/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com