zoukankan      html  css  js  c++  java
  • 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安装maven
    Jenkins 改成中文语言显示
    appium怎么按下系统按键?如按下返回键、home键等等
    Jenkins+TestNG+gitlab+maven持续集成
    问题一:使用AndroidDriver而非原来的AppiumDriver的原因
    appium教程
    问题二:appium 搞定权限弹框的一个小办法
    问题三:Appium 的 UIAutomator2 模式下使用 sendKeys 出现错误
    TestNG执行顺序控制
    idea Mac 快捷键
  • 原文地址:https://www.cnblogs.com/JackShi/p/12713471.html
Copyright © 2011-2022 走看看