如何在表单中使用自定义方法来发送请求并接受来自Django中另一台服务器的响应?

迷你GunnR

我的forms.py文件中包含以下代码

class RegisterForm(forms.Form):
    employee_id = forms.CharField(label='Employee ID', max_length=30)
    password1 = forms.CharField(label='Password', widget=forms.PasswordInput)
    password2 = forms.CharField(label='Retype Password', widget=forms.PasswordInput)

    first_name = forms.CharField(label='First Name', max_length=100)
    last_name = forms.CharField(label='Last Name', max_length=100)
    designation = forms.CharField(max_length=100)
    department = forms.ChoiceField(choices=[(x, x) for x in departments])
    mobile = forms.CharField(max_length=50)

    def clean_password2(self):
        password1 = self.cleaned_data.get('password1')
        password2 = self.cleaned_data.get('password2')
        if password1 and password2:
            if password1 != password2:
                raise forms.ValidationError(("The two password fields didn't match."))
            elif password1 == '' or password2 == '':
                raise forms.ValidationError(("The password cannot be blank"))
        return password2

我有两个查询。

  1. 我了解该clean_password2方法中的代码如何工作,但不了解为什么调用该方法clean_password2,如果2从名称中删除,为什么它不起作用

  2. 我在另一台服务器上有一个脚本,我想在其中发送请求employee_id并获取该ID是否可用或已经存在的响应。如何创建不允许我提交ID不可用的表单的方法?

另外,如果有人向我提供阅读材料以使您获得扎实的掌握,那将非常有帮助Django Forms

萨多尔贝克·伊莫马里耶夫(Sardorbek Imomaliev)

最坚实的文档Django的是那些官方Django表单他们的验证

1)在文档中

clean_<fieldname>()方法在表单子类上被调用–在该子类中<fieldname>被表单字段属性的名称替换。此方法执行特定于该特定属性的任何清理,而与该字段的类型无关。此方法未传递任何参数。您将需要在self.cleaned_data中查找该字段的值,并记住这时它将是一个Python对象,而不是表单中提交的原始字符串(它将在cleaned_data中,因为常规字段clean()方法,上面的数据已经清除了一次)。

这意味着仅当它具有相应的字段时,才会调用以clean开头的验证方法。这就是为什么password2行得通而password不行的原因。

2)您可以使用clean_<fieldname>这是例子

def clean_employee_id(self):
    value = self.cleaned_data['employee_id']
    # send request to your remote server. I would suggest using requests library
    if remote_check_is_successful:
        return value
    raise ValidationError('invalid employee_id')

考虑到除了验证本身以外,可能还会存在一些网络错误,如果远程服务器缓慢地以表单提交方式答复也将花费很长时间,并且这不是很友好。但是,这整个另一个问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django - 序列化来自另一台服务器的响应

来自分类Dev

使用 ZnClient 发布请求登录到服务器后,如何将文件发送到 pharo 中的另一台服务器?

来自分类Dev

使用 nginx 部署 Django - 来自另一台服务器的 gunicorn

来自分类Dev

如何在PHP中使用FTP从另一台服务器传输文件

来自分类Dev

复制请求并发送到另一台服务器

来自分类Dev

Fiddler脚本-如何将响应发送到另一台服务器?

来自分类Dev

如何使用post方法重定向到mvc中的另一台服务器?

来自分类Dev

如何在一台服务器上使用GitLab并将所有存储库存储在另一台服务器上?

来自分类Dev

将数据从Django发送到另一台服务器

来自分类Dev

如何通过另一台服务器发送 SMTP 电子邮件?

来自分类Dev

如何将值发送到另一台服务器?

来自分类Dev

如何使用虚拟目录指定将请求重定向到另一台服务器?

来自分类Dev

如何在Shell脚本中使用scp或sftp将文件从一台服务器复制到另一台服务器?

来自分类Dev

如何将大文件从一台服务器发送到另一台服务器

来自分类Dev

使用scp将文件从一台服务器复制到另一台服务器时发送密码

来自分类Dev

如何从我的服务器向另一台服务器发送消息?

来自分类Dev

如何监视另一台服务器中存在的文件

来自分类Dev

在Heroku中,我如何从另一台服务器连接PostgreSQL?

来自分类Dev

如何使用Celery从另一台服务器运行任务?

来自分类Dev

使用nginx,如何在另一台服务器返回的页面上运行SSI?

来自分类Dev

使用nginx,如何在另一台服务器返回的页面上运行SSI?

来自分类Dev

PHP发布到另一台服务器,然后返回另一台服务器的响应

来自分类Dev

如何使用php将图像从一台服务器上传到另一台服务器

来自分类Dev

如何使用PHP从一台服务器接收数据到另一台服务器

来自分类Dev

如何使用ssh从一台服务器上的文件复制文本并追加到另一台服务器上的文件?

来自分类Dev

如何使用nodejs将客户端/用户从一台服务器反向代理到另一台服务器?

来自分类Dev

使用JSCH将文件从一台远程服务器发送到也使用JSCH的另一台服务器

来自分类Dev

如何通过第二台服务器的密钥使用另一台服务器SSH到服务器?

来自分类Dev

如何将数据发送到另一台服务器并通过套接字保存响应

Related 相关文章

  1. 1

    Django - 序列化来自另一台服务器的响应

  2. 2

    使用 ZnClient 发布请求登录到服务器后,如何将文件发送到 pharo 中的另一台服务器?

  3. 3

    使用 nginx 部署 Django - 来自另一台服务器的 gunicorn

  4. 4

    如何在PHP中使用FTP从另一台服务器传输文件

  5. 5

    复制请求并发送到另一台服务器

  6. 6

    Fiddler脚本-如何将响应发送到另一台服务器?

  7. 7

    如何使用post方法重定向到mvc中的另一台服务器?

  8. 8

    如何在一台服务器上使用GitLab并将所有存储库存储在另一台服务器上?

  9. 9

    将数据从Django发送到另一台服务器

  10. 10

    如何通过另一台服务器发送 SMTP 电子邮件?

  11. 11

    如何将值发送到另一台服务器?

  12. 12

    如何使用虚拟目录指定将请求重定向到另一台服务器?

  13. 13

    如何在Shell脚本中使用scp或sftp将文件从一台服务器复制到另一台服务器?

  14. 14

    如何将大文件从一台服务器发送到另一台服务器

  15. 15

    使用scp将文件从一台服务器复制到另一台服务器时发送密码

  16. 16

    如何从我的服务器向另一台服务器发送消息?

  17. 17

    如何监视另一台服务器中存在的文件

  18. 18

    在Heroku中,我如何从另一台服务器连接PostgreSQL?

  19. 19

    如何使用Celery从另一台服务器运行任务?

  20. 20

    使用nginx,如何在另一台服务器返回的页面上运行SSI?

  21. 21

    使用nginx,如何在另一台服务器返回的页面上运行SSI?

  22. 22

    PHP发布到另一台服务器,然后返回另一台服务器的响应

  23. 23

    如何使用php将图像从一台服务器上传到另一台服务器

  24. 24

    如何使用PHP从一台服务器接收数据到另一台服务器

  25. 25

    如何使用ssh从一台服务器上的文件复制文本并追加到另一台服务器上的文件?

  26. 26

    如何使用nodejs将客户端/用户从一台服务器反向代理到另一台服务器?

  27. 27

    使用JSCH将文件从一台远程服务器发送到也使用JSCH的另一台服务器

  28. 28

    如何通过第二台服务器的密钥使用另一台服务器SSH到服务器?

  29. 29

    如何将数据发送到另一台服务器并通过套接字保存响应

热门标签

归档