1

首先请原谅我在 django、python 和 html 中的跛足。

我将小部件添加到 html,并且我想从数据库中填充项目。我尝试了以下但它不起作用,它只显示明显的('ALL'项目):

HTML:

<select name=\"accountName\" >
    <option value=\"ALL\">ALL</option>
    {% for item in select_items %}
    <option value=\"'+item.accountName+'\">'+item.accountName+'</option>
    {% endfor %}
</select>

Python:

class StartPage(webapp.RequestHandler):
    def get(self):
    select_items = db.GqlQuery( "SELECT * FROM Registration" )
    self.response.out.write(template.render("tst.html", {'select_items': select_items}))

请注意,数据库确实包含东西,而不是空的。谢谢

4

3 回答 3

3

我不是 django 专家,但我认为您的模板有一些错误。

<option value=\"'+item.accountName+'\">'+item.accountName+'</option>

应该

<option value="{{ item.accountName }}">{{ item.accountName  }}</option>

欲了解更多信息: https ://docs.djangoproject.com/en/dev/topics/templates/

于 2012-06-21T12:21:08.170 回答
3

您的 django 语法错误。它应该是这样的:

{% for item in select_items %}
<option value="{{item.accountName}}">{{item.accountName}}</option>
{% endfor %}

而且您也不应该转义双引号,例如

<select name=\"accountName\" >

应该只是

<select name="accountName" >

此外,您的 python 代码存在缩进问题,但我认为这与您在此处粘贴的方式有关,而不是代码中的实际问题。

于 2012-06-21T12:21:17.137 回答
2

我不认为您想转义 HTML。

<select name="accountName" >
    <option value="ALL">ALL</option>
    {% for item in select_items %}
    <option value="{{ item.accountName }}">{{ item.accountName }}</option>
    {% endfor %}
</select>

其余的乍一看还不错,但我的 GAE 生锈了。

希望你能得到更好的答案。

于 2012-06-21T12:21:01.203 回答