zoukankan      html  css  js  c++  java
  • 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对象,想要什么样式另外加


  • 相关阅读:
    02-高阶函数 map filter sorted
    01-切片的赋值操作
    学习资料记录
    django_初级学习(1)
    git配置使用
    openpyxl操作表格(2)
    openpyxl模块操作excell表格(1)
    精简语法
    MySQL常见面试题
    02-图片转字符画
  • 原文地址:https://www.cnblogs.com/dingyunfeng/p/10506096.html
Copyright © 2011-2022 走看看