我有一个设置页面,用户可以 Select 是否想要接收时事通讯.

我想要一个复选框,我想要Django Select 它,如果"时事通讯"在数据库中是真的.如何在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

布尔表单域使用CheckboxInput×default的小部件.

Django相关问答推荐

Django Signals:从实例访问ManyToManyRel值

在AWS s3中获取项目的URL

在生产中添加整型主键

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

Django Rest Framework 速率限制动态基于用户类型

如何在不编写每个视图中的逻辑的情况下呈现值,Django?

Pymongo:搜索文档时忽略空输入值

Django REST Framework 图片上传

Django:通过manage.py使用服务器和gunicorn等其他服务器之间的区别.哪个更好?

使用基于日期/时间的对象进行 Django 单元测试

如何在 twitter-bootstrap 模式窗口中插入 django 表单?

这是验证 Django 模型字段的方法吗?

使用 sqlite 运行 django 测试

django 管理员操作而不 Select 对象

在 PyPy 下运行 Django 的缺点?

在 Django shell 启动时自动导入模型

Django 模型方法 - create_or_update

Django Admin - save_model 方法 - 如何检测字段是否已更改?

Django:按位置排序,忽略 NULL

Django - 指定 Django 管理员应该使用哪个模型管理器