【问题标题】:Django Multiple Form as dynamic checkboxesDjango 多表单作为动态复选框
【发布时间】:2018-03-20 18:48:52
【问题描述】:

希望对于以下不涉及JavaScript 的挑战有一个快速巧妙的 Django 式解决方案。

目前,我创建了一个表单,该表单将多对多字段显示为简单的倍数(Django 中的内置行为),利用以下内容:

Forms.py:

class ProfileForm(forms.ModelForm):
    class Meta:
        model = Profile
        exclude = ['email_address']

模板:

<form  method="post">{% csrf_token %}
    {{form}}            
    <button class="btn" type="submit">submit</button>
</form>

型号:

class Profile(models.Model):

    email_address = models.CharField(max_length = 100)

    subscriptions = models.ManyToManyField(Item, blank=True, null=True)

但是,为了简化用户体验(并提高移动性能),我想改为显示一个带有复选框的列表。

有没有一种简单的方法可以在不使用 JavaScript 或手动设置 forms.py 中的每个选项的情况下实现这一点?

【问题讨论】:

    标签: python html django django-forms


    【解决方案1】:

    更简单的方法是在MetaProfileForm 类中为订阅 提供小部件

    class Meta:
        model = Profile
        exclude = ['email_address']
        widgets = {
            'subscriptions': forms.CheckboxSelectMultiple,
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2023-03-17
      • 2014-09-12
      • 2017-12-01
      • 2013-07-22
      • 2016-03-22
      • 2020-04-27
      相关资源
      最近更新 更多