zoukankan      html  css  js  c++  java
  • 多个ModelForm组合成一个表单

    打个比方: 我将用户的基本信息 如用户名密码存在继承了Django auth认证组件中的 AbstractUser 类的模型中,并和第二个存了Details模型中,此模型继承UserInfo模型

    继承了AbstractUser 的UserInfo表:

    ps:不要忘记在setting中 配置: 告诉Django用户认证组件我要使用这张表

    AUTH_USER_MODEL = 'blog.UserInfo'
    class UserInfo(AbstractUser):
        """用户认证表""" detail
    = models.OneToOneField(to='Details', on_delete=models.CASCADE, null=True) def __str__(self): return self.username

    Details表:

    class Details(UserInfo):
        """用户详细信息表,
        继承了UserInfo  
      
      """ tel
    = models.CharField(max_length=16) nickname = models.CharField(max_length=16, null=True)

    现在我们进行同步,迁移

    这时数据库中生成了两张表:

    UserInfo 表 生成了如下字段

    details 表 生成了如下字段

     表生成好了 接下来我们可以开始使用我们django 的form组件了:

    from django import forms
    from app01.models import *
    class Register(forms.ModelForm):
    # from组件
        class Meta:
            model = Details
            fields = '__all__'
    from django.shortcuts import render
    from app01 import form
    # Create your views here.
    # 视图函数
    def regist(request):
    
        rform = form.Register()
        return render(request,'regist.html',{"rform":rform})

    前端:

    此时所有字段就都揉合在一个Form表单里啦

    接下来就可以根据自己的需求新选择要渲染的字段啦

    有其他方法欢迎提出来,大家一起学习

  • 相关阅读:
    彻底解决SQL SERVER 2008无法远程连接的问题
    将ReportingService 2008配置为匿名访问
    将低版本的数据库迁移到sqlserver 2008
    Oracle 11G R2
    Reporting Services 安装的备份和还原操作
    DefaultValue
    用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
    在IIS中为SQL Server 2008配置报表服务
    数据库日志维护方式
    如何卸载的 SQL Server 2008 实例
  • 原文地址:https://www.cnblogs.com/Treasuremy/p/9965595.html
Copyright © 2011-2022 走看看