回答
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 /包中的相關模板
感謝您的幫助。希望我能夠深入瞭解您提供的指針,以瞭解如何在CKAN中創建表單。 – user1380140
我能夠使用CKAN中的表單宏創建一個簡單的表單。但是,我無法驗證表單域和設置域錯誤消息。我應該在哪裏創建表單域驗證規則?我假設「錯誤」是一個字典對象,我必須在表單代碼開始之前填充它。 – user1380140
CKAN提供了一些基本的驗證器,您可以使用插件工具包。看看上面提到的ckanext/example_idatasetform如何在plugin.py中做到這一點。驗證器函數位於ckan/lib/navl/validators.py中。編寫自己的驗證應該是可能的,但我從來沒有這樣做過。 –
是的,CKAN 2.6.0a的內置表單元素宏的文檔在/usr/lib/ckan/default/src/ckan/ckan/templates/macros/form.html
的評論中以及Frontend Development Guidelines, under Templating中也有說明。
注意,文檔告訴你添加一行:
{% import 'macros/form.html' as form %}
,但如果你要覆蓋現有模板(使用{% ckan_extends %}
),你通常不必添加此導入行,因爲這通常已經存在,或者已經包含在父模板中。
- 1. 創建幫助函數以顯示AlertView是否有任何問題?
- 2. 是否有一個靜態構造函數/析構函數幫助主題
- 3. 是否有任何宏可以幫助用一個開放參數來創建一個函數?
- 4. HTML表單構建/ Django request.POST幫助
- 5. 是否有任何庫可以幫助在.net中使用svg?
- 6. 在javascript函數中需要幫助db.transaction ....是否有延遲?
- 7. 我的需求是否有任何wordpress表單構建插件?
- 8. Java構造函數幫助
- 9. C#構造函數幫助
- 10. 是否有任何XCode插件可以幫助自動創建代表?
- 11. 是否有可能在C函數中構建函數?
- 12. 幫助構建JSON數據
- 13. 是否有可能在Scala中繼承輔助構造函數?
- 14. Zend Framework是否有幫助構建URL查詢字符串?
- 15. 是否有任何函數對象在STL中創建對象?
- 16. 有關創建php函數的幫助
- 17. ExtJS表單創建幫助
- 18. java中的構造函數幫助
- 19. C++中是否有任何部分拷貝構造函數?
- 20. 需要幫助來構建查詢
- 21. 需要幫助來創建div結構
- 22. 需要幫助來構建動態XML
- 23. ITK中是否有表面構建函數,它返回VesselTubeSpatialObject?
- 24. 在MFC中調用OnInitDialog函數後是否有任何函數?
- 25. C中是否有任何庫函數來檢查Internet連接?
- 26. SQL函數來檢查表中任一列是否存在任何值
- 27. 在C#中使用Selenium 2 Web表單 - 是否有任何輔助方法來簡化常見任務?
- 28. 是否有任何python庫來幫助測試外部python腳本
- 29. 是否有任何GMP對數函數?
- 30. 是否有任何工具幫助與TFS同步目錄?
請包含一些代碼,以便您的同事可以看到您嘗試過的內容。你不能指望SO社區爲你做這一切。 – simonmorley