首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用下拉框在Django中显示相应的值

使用下拉框在Django中显示相应的值
EN

Stack Overflow用户
提问于 2019-06-25 16:30:32
回答 1查看 533关注 0票数 0

我正在建设一个Django网站,我想有一个页面,其中有一个下拉框(这是由一个变量在我的模型)和选择从那个下拉框改变了下面的显示。

例如:我有一个模型,它包含了我希望在下拉框中包含的变量名称&值,所有名称的值,以及在选择名称时要显示的相应值。

使用views.py,我可以发送名称的值来创建下拉框。但是当用户选择名称时,我不知道如何显示相应的值。

这似乎有一个非常简单的答案,但我很难在SO或Django教程上找到一个这样的例子。(可能是因为我不知道要使用的正确术语)。

有人能给我指点方向吗?

我当前的views.py看起来如下:

代码语言:javascript
复制
def index(request):
    phylogenies = Phylogenies.objects.order_by('names')
    return render(request, 'phylogeny/index.html', context)    

其中链接到相关html的这一部分:

index.html

代码语言:javascript
复制
<form action="PageObjects" method="post">
  <select >
    <!-- {% csrf_token %} -->
    {% for p in phylogenies %}
        <option value='{{p.id}}'>{{ p.names }}</option>
    {% endfor %}
  </select>
  <input type="submit" value="Select">
</form>
EN

回答 1

Stack Overflow用户

发布于 2019-06-25 16:47:53

要首先获得选中的选项的值,需要在下拉列表(模板)上定义一个名称:

代码语言:javascript
复制
<form action="PageObjects" method="post">
  <select name="mySelect" id="mySelect">
    {% csrf_token %}
    {% for p in phylogenies %}
        <option value='{{p.id}}'>{{ p.names }}</option>
    {% endfor %}
  </select>
  <input type="submit" value="Select">
</form>

现在,在您的views.py上获取如下内容的值:

代码语言:javascript
复制
def PageObjects(request):
  myOption = request.POST.get("mySelect") 
  ...
   ...

在本例中,您可以获得值(Id),默认情况下,Django创建这个值是自动增量整数。

祝你好运..!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56758424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档