【问题标题】:How to handle HTML Arrays with App Engine Python?如何使用 App Engine Python 处理 HTML 数组?
【发布时间】:2010-07-26 16:34:30
【问题描述】:

我被这个问题困住了,我制作了一个 HTML 数组,但我无法用 Python 读出它。甚至可以在 App Engine 中做到这一点吗?我读到这在 PHP 中是可能的。

这是html代码:

<label for="hashtags">Hashtags: </label><br/>
{% for hashtag in stream.hashtags %}
    <input type="text" value="{{hashtag}}" name="hashtags[]" id="hashtags" class="text ui-widget-content ui-corner-all" />
{% endfor %}

这就是我目前尝试读取 HTML 数组的方式:

newHashTags = self.request.get('hashtags[]')
for newHashTag in newHashTags:
    stream.hashtags.append(newHashTag)

这是在我调试时在 post 变量中。

MultiDict: MultiDict([('streamid', '84'), ('name', 'Akteurs'), ('description', '#stream'), ('hashtags[]', '#andretest'), ('hashtags[]', '#saab')])

【问题讨论】:

    标签: python html google-app-engine


    【解决方案1】:

    您不需要在要视为列表或数组的字段名称末尾包含[],这是一些特定于 PHP 的魔法。相反,只需将字段命名为 hashtags 并在您的请求处理程序中执行此操作以从请求中获取主题标签列表:

    newHashTags = self.request.get('hashtags', allow_multiple=True)
    

    allow_multiple=True 参数将使get 方法返回请求中所有hashtags 值的列表。请参阅the relevant documentation 了解更多信息。

    您还可以通过执行以下操作来避免 for 循环:

    newHashTags = self.request.get('hashtags', allow_multiple=True)
    stream.hashtags.extend(newHashTags)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多