【问题标题】:How to pre select value in a django forms.Select field如何在 django forms.Select 字段中预先选择值
【发布时间】:2019-11-29 19:17:23
【问题描述】:

我是 django 的新手。我正在使用 django 2.2 创建一个简单的 CRUD 应用程序,我有一个简单的 addstudent.html 页面,我可以在某些字段中添加数据,包括一个下拉列表,我可以在其中选择学生的班级并更新数据库。下面是我的代码: forms.py

class StudentForm(forms.ModelForm):
    class_list= [
    ('Class IIX', 'Class IIX'),
    ('Class IX', 'Class IX'),
    ('Class X', 'Class X'),
    ('Class XI', 'Class XI'),
    ('Class XII', 'Class XII')
    ]
    student_class= forms.CharField(label='Class', widget=forms.Select(choices=class_list,attrs={'style': 'width:175px'}))
    class Meta:
        model=Student
        fields='__all__'

models.py

class Student(models.Model):
    student_id=models.CharField(max_length=20)
    student_name=models.CharField(max_length=100)
    student_email=models.EmailField()
    student_contact=models.CharField(max_length=100)
    student_class=models.CharField(max_length=100)
    class Meta:
        db_table='student'

addstudent.html 模板的 sn-p 正确显示下拉菜单

<div class="form-group row">
    <label for="sname" class="col-sm-4 col-form-label">Student Class:</label>
    <div class="col-sm-8">
        {{form.student_class}}
    </div>
</div>

问题:当我编辑学生时,我无法弄清楚如何预选下拉列表,我从数据库中获得了“Class X”的值,但是如何使用这个数据库值在下拉列表中选择正确的选项?

请注意:这个项目是为小学生准备的,我不能在这里使用 JQUERY/JAVASCRIPT。

【问题讨论】:

标签: html django python-3.x


【解决方案1】:

问题可能与初始无关。当您正确地实例化表单时,Django 会自动处理这个问题。您需要通过视图中的构造函数传递学生实例。

StudentForm(instance=student_object)

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-04
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多