【问题标题】:Python code snippet throw 500 in CKANPython 代码片段在 CKAN 中抛出 500
【发布时间】:2014-02-07 01:08:35
【问题描述】:

我正在使用 CKAN 开发一个开放数据门户。它使用 Python 作为语言,使用 Pylons 作为框架

我使用下面的代码 sn-ps 获取问题中提到的 API 链接。请参考this question 了解更多信息。但这对我不起作用。

方法一

<b>API: </b><a href="${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}">
${h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2')}
</a>

方法二

<b>API: </b><a href="{% h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2') %}">
{% h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver='2') %}
</a>

以上都抛出 500 错误,如下图所示。

我该如何解决这个错误?

【问题讨论】:

  • 这看起来不像Django template language,尤其是你不能只用Django模板语言调用带有参数的函数
  • 正确的做法是什么?如果可能,请帮助我。我是 Python 新手。我更像是一个 PHP 人。
  • 如果您查看 ckan 的 requirements.txt,它根本没有提到 Django。它使用带有 Mako 模板语言的 Pylons 框架
  • 感谢指正。你能告诉我如何解决这个问题吗?

标签: python pylons mako ckan opendata


【解决方案1】:
<a class="btn btn-primary resource-url-analytics resource-type-{{ res.resource_type }}" href="{{h.url_for(controller='api', register='package', action='show', id=c.pkg.name, ver=2)}}">
    <i class="icon-eye-open"></i> {{ _('API') }}
</a>

上面的代码对我来说很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    相关资源
    最近更新 更多