基于多项 Select 栏,我想在模板中显示结果,但我不知道怎么做,就像你在这个模型中看到的那样,我根据午餐 Select 给学生提供午餐 Select 我想显示结果,但这对EX不起作用如果他 Select 了三明治,提交后你的三明治会准备好吗,对其他人来说是一样的

from multiselectfield import MultiSelectField
class student(models.Model):
    lunch_choice = [ 
        ('Sandwich', 'Sandwich'),
        ('Salad', 'Salad'),
        ('omlete', 'omlete'),
    ]
    name = models.CharField(max_length=70, blank=False)
    classs =  models.CharField(max_length70, blank=True)
    lunch =  MultiSelectField(choices=lunch_choice, blank=True)

    def __str__(self):
        return self.name

我试了试我的超文本标记语言,但它不起作用

{% if student.classs %}
{% if student.lunch == 'Sandwich' %}
          <p> your sandwich will be ready</p>
{% endif %} 
{%endif%}

并在Form.py中使用小部件

widgets = {
    'lunch':forms.CheckboxSelectMultiple(attrs={'id':'lunch'}),
}

我的views.py

def preview(request):
    student = student.objects.all()
    return render(request, 'preview.html',{'student':student})

推荐答案

对我来说,没有这样的方式,你可以显示结果的基础上 Select 的选项,因为我也试图使用它,并在互联网上寻找答案,但没有找到任何东西和创建者也没有react ,尽管我会建议你使用模型多对多领域,它将允许用户 Select 一个以上的选项,像这样的多 Select 领域

首先,创建模型

class Lunch(models.Model):
    title = models.CharField(max_length=200)

    def __str__(self):
        return self.title

然后将这个添加到学生模型中

lunch =  models.ManyToManyField(Lunch, blank=True, related_name="lunch")

然后在午餐模式中添加您的选项

并在您的模板中根据所选选项显示结果

{% if student.classs %}
{% for Lunch in student.lunch.all %}
{% if Lunch.title == 'Sandwich' %}
          <p> your sandwich will be ready</p>
{% endif %}
{% endfor %} 
{%endif%}

看起来不错

Django相关问答推荐

无法将关键字average_rating解析为字段

在生成的表单元素处出现多值DictKeyError

如何在Django模板中获取组中对象的整体计数器(&Q;)?

Django-表单(ModelForm)中的数据不保存在现有数据库中

try 获取静态文件路径时 Django 给出错误

如何在Django模板中有条件地传递值给with变量?

在Django测试get方法中获取HttpResponseNotFound

EmailBackend 用于在 Django 中通过多个 SMTP 发送邮箱

模板过滤器修剪任何前导leading或尾随trailing空格

django-rest-framework 如何使模型序列化器字段成为必需

恢复 Django 1.7 RemoveField 迁移

如何在 PyCharm 中重命名 Django 元素?

Django REST Framework - 将额外参数传递给操作

如何在django中生成临时文件然后销毁

模型 Django 中的 ID 字段

带有消息判断的 Django/Python assertRaises

Django模板转义

如何在 django 中仅获取表的特定列?

只使用 Django 的某些部分?

如何使用 ModelSerializer 显示所有模型字段?