• form组件


     

    def __init__(self, *args, **kwargs):
            super().__init__(*args, **kwargs)
            self.fields['hobby'].choices =models.Hobby.objects.all().values_list('id', 'name')
    choice从数据库取值,重写init

    还有钩子函数校验  没加

     


    举例:

    模型类:

      

    对应form:

      form的字段必须与前端标签的name值保持一致才能用form_obj=UserForm(request.POST)传值, 也要和模型类中表的字段一致才能插入数据库.
      所以form的字段==前端标签的name值==models表中的字段

     前台:

    后端:

    前端渲染form表单的三种方式:

    第一种 {{ form_obj.as_p }}

     

        渲染成3个p标签,每个p表面里面包一个label一个input
        form_obj.as_p 通常不用,因为不够灵活

    第二种  form_obj.字段名, 渲染单个标签

     

    第三种常用, 循环form对象,想要什么样式另外加


  • 相关阅读:
    jQuery之选择器
    JAVA之网页截屏
    AJAX之JSON
    JSP之AJAX
    JSP之邮箱检验
    【16】LRUChache
    hashmap与currentHashMap
    Day1 工厂模式
    D0 设计模式
    【15】【有点特殊的dp】 剪绳子
  • 原文地址:https://www.cnblogs.com/dingyunfeng/p/10506096.html
Copyright © 2020-2023  润新知