在Django中,可以通过以下步骤来根据下拉选择的值获取数据库数据:
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
python manage.py makemigrations
python manage.py migrate
from django import forms
from .models import Category
class CategoryForm(forms.Form):
category = forms.ModelChoiceField(queryset=Category.objects.all())
from django.shortcuts import render
from .forms import CategoryForm
from .models import Category
def get_data(request):
if request.method == 'POST':
form = CategoryForm(request.POST)
if form.is_valid():
selected_category = form.cleaned_data['category']
data = Category.objects.filter(name=selected_category)
return render(request, 'result.html', {'data': data})
else:
form = CategoryForm()
return render(request, 'form.html', {'form': form})
form.html:
<form method="post">
{% csrf_token %}
{{ form }}
<button type="submit">查询</button>
</form>
result.html:
{% for item in data %}
{{ item.name }}
{% empty %}
<p>没有找到相关数据。</p>
{% endfor %}
from django.urls import path
from .views import get_data
urlpatterns = [
path('get-data/', get_data, name='get_data'),
]
现在,当用户访问"/get-data/"路径时,将显示一个包含下拉选择框的表单。用户选择一个选项并提交表单后,将根据选择的值从数据库中获取相应的数据,并显示在结果页面中。
这是一个简单的示例,展示了如何在Django中根据下拉选择的值来获取数据库数据。在实际开发中,可以根据具体需求进行更复杂的操作和处理。
领取专属 10元无门槛券
手把手带您无忧上云