从数据库传输到Django dropbox

2024-04-23 08:08:02 发布

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

我试图用Django和HTML来填充一个dropbox,其中包含数据库中的值。几个小时来我一直在想办法,但一直没有更新。你知道吗

以下是HTML代码:

<select id = "classChoice" >
    <option value = "base"> ----- </option>
    {% for class.name in objectlist %}
    <option value = "class.name"> {{ class.name }} </option>
    {% endfor %}
    </select>

这是你的名字表单.py地址:

class searchPageForm(forms.Form):
    className = forms.ModelChoiceField(queryset= Classroom.objects.all())
    studentName = forms.CharField(max_length=120)
    studentID = forms.CharField(max_length=20)

这是你的名字视图.py地址:

def search(request):
    form = searchPageForm()
    if request.GET.get('class.name'):
        featured_filter = request.GET.get('class.name')
        objectlist = searchPageForm.objects.all()
        return render(request, 'pollingSite/search.html', {'objectlist': objectlist})
    else: 
        classNames = Classroom.objects.filter(instructor = request.user)
        return render(request, 'pollingSite/search.html', locals())

我被困住了,什么都试过了,只是没有人来。你知道吗


Tags: namepysearchobjectsvaluerequest地址html
1条回答
网友
1楼 · 发布于 2024-04-23 08:08:02

在html页面中,{% for object in objectlist %}意味着它将遍历objectlist,并将列表中的每个对象分配给object。这意味着您可以使用实例object访问Classroom的属性。因此,更改html如下:

<select id="classChoice">
<option value = "base">   - </option>
    {% for object in objectlist %}      <!  You were making mistake here  >
        <option value = "{{ object.id }}"> {{ object.name }} </option>
    {% endfor %}
</select>

在你的表单.py地址:

class searchPageForm(forms.Form):
    className = forms.CharField(max_length=120)
    studentName = forms.CharField(max_length=120)
    studentID = forms.CharField(max_length=20)

相关问题 更多 >