Django1.6:如何将值从下拉列表传递到另一个模板pag

2024-03-29 06:23:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到用户选择的下拉字段的值,并在下一页根据下拉选择过滤一些配置文件列表。在

我把这个放在我的索引.html页面并希望用户在下拉列表中选择一个选项,然后单击提交并重定向到doclistings.html文件页码

  <div class="form-group">
        <form action="/doclistings/" method="post">
        <select class="form-control" id="select">
          <option><b>Choose a Speciality...</b></option>
          <option value ="Dermatologist">Dermatologist</option>
          <option value = "Dentist">Dentist</option>
          <option value = "ENT">Ear, Nose and Throat (ENT)</option>
          <option value = "Opthalmologist">Eye Doctor</option>
          <option value = "Psychiatrist">Psychiatrist</option>
          <option value = "Orthopedist">Orthopedist</option>
        </select>
        <span class="input-group-btn">
          <button class="btn btn-primary" type="submit"  name="submit" id="ss-submit">Find Doctors</button>
        </span>
      </div>

在doclistings.html文件在

^{pr2}$

在视图.py在

def index(request):

if request.method == "POST":
    form = DropdownSelectionForm(request.POST)

    if form.is_valid():
        selection = form.cleaned_data['value']

        return HttpResponseRedirect('/doclistings')
else:
    form = DropdownSelectionForm()

return render(request, 'meddy1/index.html')

@csrf_exempt
def doclistings(request):
    return render(request, 'meddy1/doclistings.html', {'doclist': Doctor.objects.all()})

在表单.py在

class DropdownSelectionForm(forms.Form): 
    selection = forms.CharField()

Tags: 文件用户form列表returnvaluerequesthtml
1条回答
网友
1楼 · 发布于 2024-03-29 06:23:29

请尝试POST,然后使用来自request的已发布值在下一个视图中呈现它。这是医生-

https://docs.djangoproject.com/en/1.6/topics/forms/#using-a-form-in-a-view

编辑 您可以执行以下任一操作-

  1. 在表单中将alldocs视图设置为form action,并将form method设置为GET。因此,当表单发布时,您可以在alldocs视图的query string中获得值。

  2. 使用index视图,通过检查是否执行了POST操作请求.方法,然后从那里获取值并使用redirect(from django.shortcuts)将所需的值作为参数重定向到视图。

如何检查POST或GET的方法,在我前面提到的文档中有记录。在

相关问题 更多 >