首先请原谅我在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}))
注意,DB确实包含东西,而不是空的。 感谢名单
答案 0 :(得分:3)
我不是django专家,但我认为你的模板有一些错误。
<option value=\"'+item.accountName+'\">'+item.accountName+'</option>
应该是
<option value="{{ item.accountName }}">{{ item.accountName }}</option>
了解更多信息: https://docs.djangoproject.com/en/dev/topics/templates/
答案 1 :(得分:3)
您的django语法错误。它应该是这样的:
{% for item in select_items %}
<option value="{{item.accountName}}">{{item.accountName}}</option>
{% endfor %}
你也不应该逃避双引号,例如
<select name=\"accountName\" >
应该只是
<select name="accountName" >
另外,你的python代码有缩进问题,但我想这与你在这里粘贴它的方式有关,而不是代码中的实际问题。
答案 2 :(得分: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生锈了。
希望你能得到更好的答案。