首页 > 其他 > 详细

Django ModelForm 中自定义字段显示顺序

时间:2020-12-12 09:27:06      阅读:76      评论:0      收藏:0      [点我收藏+]

1.未做处理时,form设置

class user_role_form(ModelForm):
    eid=forms.CharField(label=用户编码,validators=[RegexValidator(r^(E|H)\d{6}$)])
    password=forms.CharField(label=密码,widget=forms.PasswordInput())
    confirm_pwd=forms.CharField(label=确认密码,widget=forms.PasswordInput())
    class Meta:
        model=models.UserInfo
        fields=__all__

在前端form中confirm_pwd显示在表单的最后面和password字段没有在一起

技术分享图片

 

 

2.目前我们想让confirm_pwd和password字段显示在一起,可在__init__魔法方法中调用move_to_end()方法,方法中有个参数为last,last默认为True,如果last为True,则将该字段调到最后,如果last为False,则在最前

class user_role_form(ModelForm):
    eid=forms.CharField(label=用户编码,validators=[RegexValidator(r^(E|H)\d{6}$)])
    password=forms.CharField(label=密码,widget=forms.PasswordInput())
    confirm_pwd=forms.CharField(label=确认密码,widget=forms.PasswordInput())
    class Meta:
        model=models.UserInfo
        fields=__all__
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        move_list=[email,roles]   # 需要调整顺序字段的列表
        for item in move_list:
            self.fields.move_to_end(item,last=True)

调整完成之后的效果

技术分享图片

 

Django ModelForm 中自定义字段显示顺序

原文:https://www.cnblogs.com/yehaita/p/14123632.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!