首页 > 解决方案 > 如何在 django 中显示所选选项中的数据

问题描述

我有一个显示棒球运动员数据的 Django 项目。我在每个 html 页面上添加了一个 Select 选项。我想根据下拉列表中的选择显示单个玩家信息。

例如:如果我从下拉列表中选择“John Doe”,我只想查看“John Doe”的信息。我该如何编码。

这是我的原始视图代码:

HTML

<select class="player-dropdown">
<option value="pitcher">Joel Rodriguez</option>
<option value="pitcher">Yadiel Lugo</option>
<option value="pitcher">Cody Reeds</option>
<option value="pitcher">Xavier Colon</option>
<option value="pitcher">Andy Smith</option>
<option value="pitcher">Carson Rex</option>
<option value="pitcher">Jalen Jackson</option>
<option value="pitcher">Matthew Cobbs</option>
<option value="pitcher">Matt Sampson</option>
<option value="pitcher">John Harrison</option>
<option value="pitcher">Robert Santiago</option>
<option value="pitcher">Efrain Zuniga</option>

视图.py

def pitching(request):
results = Pitching.objects.all()
return render(request, 'pitchingdata.html', {'pitching': results})

标签: djangodrop-down-menu

解决方案


您可以首先创建一个有关播放器详细信息的视图,如下所示:

from .models import BaseballPlayer
from django.http.response import Http404
from django.shortcuts import render


def baseball_player_detail(request, pk):
    try:
        player = BaseballPlayer.objects.get(pk=pk)
    except BaseballPlayer.DoesNotExists:
        raise Http404
    ..
    # handle with the player's information you want to display here 
    # (from model instance `player`)
    ..
    context = {
        'instance': player,
        ..
    }
    return render(request, 'baseball_player_detail.html' context), 

然后你使用<a>或任何你喜欢的东西让用户能够访问这个视图。


推荐阅读