【问题标题】:How to populate select option dropdown with database info in django如何在 django 中使用数据库信息填充选择选项下拉列表
【发布时间】:2021-04-18 02:13:49
【问题描述】:

我有一个带有选择下拉菜单的 django 项目。我已经输入了用户可以选择的球员的名字,但我想用相同的名字填充下拉列表,但从数据库中动态填充。我该怎么办?

到目前为止,这是我的 html,不知道如何为此编写 views.py,或者我是否应该执行 for 循环或 if。

<form method="POST">

{% csrf_token %}

   <select id="playerselect" name="pitcher" class="player-dropdown">
    <option value="{{ pitching.id}}">{{ pitching.player_name }}</option>
    <option value="2">Yadiel Lugo</option>
    <option value="3">Cody Reeds</option>
    <option value="4" >Xavier Colon</option>
    <option value="5" >Andy Smith</option>
    <option value="6" >Carson Rex</option>
    <option value="7" >Jalen Jackson</option>
    <option value="8" >Matthew Cobbs</option>
    <option value="9" >Matt Sampson</option>
    <option value="10" >John Harrison</option>
    <option value="11" >Robert Santiago</option>
    <option value="12" >Efrain Zuniga</option>
    <input type="submit" value="Search"/>
    </select> 

【问题讨论】:

标签: django


【解决方案1】:

在 view.py 中获取您希望在 HTML 中看到的所有选项

options = yourmodels.objects.filter(foo=bar)

然后在你的上下文字典中传递它

context = {'options': options, ...}

然后在你的 HTML 中

<select id="playerselect" name="pitcher" class="player-dropdown">
{% for option in options %}
    <option value="{{ option.id}}">{{ option.player_name }}</option>
{% endfor %}
<input type="submit" value="Search"/>
</select>

【讨论】:

  • 视图中函数的返回语句为:return(request, context) 是否正确?
  • return render(request, '{your html template}', context)
猜你喜欢
  • 2013-04-05
  • 2010-09-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多