gpt4 book ai didi

django - 在哪里编写 Django 自定义验证器

转载 作者:行者123 更新时间:2023-12-05 09:17:18 26 4
gpt4 key购买 nike

我必须在 Django 文件夹中的什么地方编写自定义验证器?

下面是我的模型所在的文件夹/home/shrivatsa555/childrenGK/cgkapp/models.py

我只需要在 1、2 和 3 范围内验证问题的难度级别:

class Questions(models.Model):
Question_Number = models.AutoField(primary_key = True),
Question_Text = models.CharField(max_length = 1000),
Option1 = models.CharField(max_length=500),
Option2 = models.CharField(max_length=500),
Option3 = models.CharField(max_length=500),
Option4 = models.CharField(max_length=500),
Answer = models.CharField(max_length=500),
Difficulty_Level = models.IntegerField(validators=[validate_number])

我在 views.py 中编写了一个自定义验证器,但它不起作用。

最佳答案

有3种方法,我至少知道:

  1. 创建一个 validators.py 文件并在模型中导入您的验证器并像这样使用它们:

     title = models.CharField(max_length=255, validators=[validate_title])
  2. 创建一个 validators.py 文件并在表单中导入您的验证器并像这样使用它们:

     def __init__(self, *args, **kwargs):
    super(QuestionsForm, self).__init__(*args, **kwargs)
    self.fields['title'].validators.append(validate_title)
  3. 您可以创建自定义的 clean() 表单方法并在此处使用您的验证器:

     def clean(self):
    cleaned_data = super(IceCreamOrderForm, self).clean()
    title = cleaned_data.get('title', '')
    if title in x:
    msg = '...'
    raise forms.ValidationError(msg)
    return cleaned_data

关于django - 在哪里编写 Django 自定义验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48557522/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com