【问题标题】:Checkbox in Dropdown Django下拉 Django 中的复选框
【发布时间】:2019-11-19 19:54:32
【问题描述】:

我的 django 应用中有一个表单,它包含一个下拉列表。

Models.py

class Quiz(models.Model):

    mtypes = (('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D'), ('E', 'E'))
    material_type = models.CharField(max_length=255, default=0, choices=mtypes)

Views.py

class QuizCreateView(CreateView):
    model = Quiz
    fields = ('material_type')
    template_name = 'classroom/teachers/quiz_add_form.html'

    def form_valid (self, form):
        quiz = form.save(commit=False)
        quiz.owner = self.request.user
        quiz.save()
        return redirect('teachers:quiz_change', quiz.pk)

html

{% load crispy_forms_tags %}

{% block content %}
    <nav aria-label="breadcrumb">
        <ol class="breadcrumb">
            <li class="breadcrumb-item"><a href="{% url 'teachers:quiz_change_list' %}">RFQs</a></li>
            <li class="breadcrumb-item active" aria-current="page">Post New RFQ</li>
        </ol>
    </nav>
    <h2 class="mb-3">Post New RFQ</h2>


        {% csrf_token %}
        {#<h3>Material Details</h3>#}
            <div class="form-group col-md-4 mb-0">
                {{ form.material_type|as_crispy_field }}
            </div>
        <button type="submit" class="btn btn-success">Save</button>

我可以将 material_type 显示为下拉列表,但我可以在此下拉列表中添加复选框吗? This 是我能找到的最接近的,但列出的库上的文档不是很清楚。 我该怎么做?

我有什么:

我想要什么:

针对 A、B、C.. 的复选框

【问题讨论】:

  • 你能放一张你的照片吗?
  • 复选框是指单选按钮?由于它是一个选择字段,因此您不能保存多个选项。
  • @JoãoVictorMonte 是的,我的意思是单选按钮。如何更改代码以保存多个选项?
  • 您需要创建一个包含 2 个字段的新模型。 1 manytomany 引用这个模型和其他的 mtypes = (('A', 'A'), ('B', 'B'), ('C', 'C'), ('D', 'D' ), ('E', 'E')) 和 material_type = models.CharField(max_length=255, default=0, choice=mtypes)
  • 如果以后有时间,我将其编码并发布为答案

标签: python django dropdown


【解决方案1】:

看看这个django-multiselectfield,或者只是创建一个小部件

【讨论】:

  • 我想要一个下拉列表中的多选字段,我知道该怎么做。
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 2016-02-01
  • 2012-11-04
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 2010-10-16
  • 1970-01-01
相关资源
最近更新 更多