python - 如何在 Django 表单中插入复选框

标签 python django django-forms

我有一个设置页面,用户可以在其中选择是否要接收时事通讯。

我想要一个复选框,如果 'newsletter' 在数据库中为真,我希望 Django 选择它。如何在 Django 中实现?

最佳答案

models.py:

class Settings(models.Model):
    receive_newsletter = models.BooleanField()
    # ...

forms.py:

class SettingsForm(forms.ModelForm):
    receive_newsletter = forms.BooleanField()

    class Meta:
        model = Settings

如果您想根据应用程序中的某些条件自动将 receive_newsletter 设置为 True,您可以在 __init__ 表单中说明这一点:

class SettingsForm(forms.ModelForm):

    receive_newsletter = forms.BooleanField()

    def __init__(self):
        if check_something():
            self.fields['receive_newsletter'].initial  = True

    class Meta:
        model = Settings

默认, bool 表单字段使用 CheckboxInput 小部件。

关于python - 如何在 Django 表单中插入复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6195424/

相关文章:

python - 在python中查找最近编辑的文件

python - 如何使用 python GSPREAD 查找谷歌电子表格的第一行空行?

python - 图片上传。将 ImageFieldFIle 转换为字符串或缓冲区

django admin fieldsets - 添加相关模型的字段

django - 模型表单集 - 默认情况下,模型表单集呈现一个额外的字段(总共 2 个字段)

python - 在 Python 中加载神经网络数据

python - 什么 pandas 操作可以帮助我进行 groupby 和按列组合聚合?

python - 导入请求处理器模块 Django 时出错

Django - 模板标签中的 verbose_name

django - 如何在Django中的模型上使用error_messages