可以通过以下步骤实现:
下面是一个示例代码:
# forms.py
from django import forms
class CarForm(forms.Form):
brand_choices = (
('bmw', 'BMW'),
('audi', 'Audi'),
('mercedes', 'Mercedes'),
)
model_choices = (
('x5', 'X5'),
('a4', 'A4'),
('c-class', 'C-Class'),
)
brand = forms.ChoiceField(choices=brand_choices)
models = forms.MultipleChoiceField(choices=model_choices)
# views.py
from django.shortcuts import render
from .forms import CarForm
def car_form_view(request):
if request.method == 'POST':
form = CarForm(request.POST)
if form.is_valid():
brand = form.cleaned_data['brand']
# Query the database to get car models based on the selected brand
# For example:
if brand == 'bmw':
models = ['X5', 'X3', 'X1']
elif brand == 'audi':
models = ['A4', 'A6', 'Q5']
elif brand == 'mercedes':
models = ['C-Class', 'E-Class', 'S-Class']
else:
models = []
return render(request, 'car_form.html', {'form': form, 'models': models})
else:
form = CarForm()
return render(request, 'car_form.html', {'form': form})
# car_form.html
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
{% if models %}
<h3>Available Car Models:</h3>
<ul>
{% for model in models %}
<li>{{ model }}</li>
{% endfor %}
</ul>
{% endif %}
在这个示例中,我们创建了一个名为CarForm
的Django表单,其中包含一个汽车品牌的下拉选择框和一个汽车模型的多选框。在视图函数car_form_view
中,我们根据用户选择的汽车品牌,查询数据库获取对应的汽车模型列表,并将其传递给模板进行渲染显示。最后,在模板中使用适当的HTML和Django模板语法,将汽车模型列表展示给用户。
请注意,示例中的数据库查询部分仅作为演示,实际情况中需要根据具体的数据模型和数据库结构进行相应的查询操作。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云