• Django框架


    form:https://www.cnblogs.com/zgf-666/p/9124214.html

    widget:https://blog.csdn.net/djangor/article/details/28126511?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1

    form的功能:
    • 前端页面是form类的对象生成的                                      -->生成HTML标签功能
    • 当用户名和密码输入为空或输错之后 页面都会提示        -->用户提交校验功能
    • 当用户输错之后 再次输入 上次的内容还保留在input框   -->保留上次输入内容

    钩子函数:对字段进行校验

    clean_

    要注意将所用到的变量返回,重写谁,return谁

    # 重写全局的钩子函数,对确认密码做校验
        def clean(self):
            password = self.cleaned_data.get("password")
            re_password = self.cleaned_data.get("re_password")
    
            if re_password and re_password != password:
                self.add_error("re_password", ValidationError("两次密码不一致"))
    
            else:
                return self.cleaned_data
    
        # 重写username局部钩子
        def clean_username(self):
            username = self.cleaned_data.get("username")
            is_exist = models.UserInfo.objects.filter(username=username)
            if is_exist:
                self.add_error("username", ValidationError("该用户已经存在!"))
            else:
                return username

    前端使用form组件(这里还不是很懂。回答:详见顶部form连接中的渲染标签部分,有三种方式渲染)

          {% for field in register_form_obj %}
              <div>
                <label for="{{ field.id_for_label }}">{{ field.label }}</label>
                {{ field }}
              </div>
          {% endfor %}
  • 相关阅读:
    linux命令: mount
    梳理一下uboot是如何从nandflash挂载文件系统的
    MDK的优化应用
    面向对象设计思想:面向对象设计的基本原则
    问题
    nodejs安装不了和npm安装不了的解决方法
    []: secureCRT连接ubuntu问题- The remote system refused the connection
    字符设备驱动[深入]:linux cdev详解
    使用MDK将STM32的标准库编译成lib使用
    liteos任务(二)
  • 原文地址:https://www.cnblogs.com/JackShi/p/12713471.html
Copyright © 2020-2023  润新知