首页 > 解决方案 > 在下拉列表中使用名称

问题描述

我想在请求 POST 查询中使用下拉菜单,但我无法定义下拉菜单选项的名称,我该怎么做?是否有机会根据此查询中的 POST 值执行 if else ?

我的前夫。看法;

def list(request):
    if 'Storefront' in request.POST:
        filtre=Alarmlar.objects.filter( Ekip__contains="Storefront" )
    elif 'CAC' in request.POST:
        filtre=Alarmlar.objects.filter ( Ekip__contains="Cac")
    else:
        filtre=Alarmlar.objects.all()
    members_list=filtre
    paginator = Paginator(members_list, 100)
    page = request.GET.get('page')
    try:
        members = paginator.page(page)
    except PageNotAnInteger:
        members = paginator.page(1)
    except EmptyPage:
        members = paginator.page(paginator.num_pages)
    return render(request, 'list.html', {'members': members}) 

html;

<select class="form-control" id="adsoyad" name="adsoyad" style="text-align:center" required>
<option value="" disabled selected >Choose...</option>
<option value="all">ALL</option>
<option value="Cac">Cac</option>
<option value="Storefront">Storefront</option>
</select>

标签: pythonhtmldjango

解决方案


名称是adsoyad,因为您指定了<select name="adsoyad" …&gt;。您因此过滤:

def list(request):
    data = request.POST.get('adsoyad')
    if data == 'Storefront':
        filtre=Alarmlar.objects.filter( Ekip__contains="Storefront" )
    elif data == 'Cac':
        filtre=Alarmlar.objects.filter ( Ekip__contains="Cac")
    else:
        filtre=Alarmlar.objects.all()
    members_list=filtre
    paginator = Paginator(members_list, 100)
    page = request.GET.get('page')
    try:
        members = paginator.page(page)
    except PageNotAnInteger:
        members = paginator.page(1)
    except EmptyPage:
        members = paginator.page(paginator.num_pages)
    return render(request, 'list.html', {'members': members})

推荐阅读