ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

forms组件

2021-04-15 13:04:44  阅读:182  来源: 互联网

标签:widget 16 self label forms widgets 组件


forms组件

from django import forms

class MyForm(forms.Form):
name = forms.CharFiled(max_lenth =16,min_lengh =16,label='用户名')
password= forms.CharFiled(max_lenth =16,min_lengh =16,label='密码')
 
 

widget 改变标签样式

class LoginForm(forms.Form):    
name = forms.CharField(       required= True,        
    max_length=16,        
    min_length =6,      
    help_text='最少6位不能为空',        
    label='用户名',        
    strip=True,      
    error_messages={           'required':'不能为空'       },               widget=forms.widgets.TextInput()       )    
password = forms.CharField(max_length=16,                                                 min_length=6,                              
                  label='密码',                                                         error_messages={                                                         'required': '不能为空'                               },           widget=forms.widgets.PasswordInput(attrs={'class':'form-control'})                               )  
  # sex = forms.ChoiceField(  
  #     label='性别',  
  #     initial=3,  
  #     choices=((1,'男'),(2,'女'),(3,'保密')),    
  #     widget = forms.widgets.RadioSelect()   #   # )    
  # city = forms.ChoiceField(  
  #     label='城市',  
  #     choices=((1,'北京'),(2,'天津'),(3,'上海')),    
  #     initial=1,    
  #     widget=forms.widgets.Select()   # )    
hobby = forms.MultipleChoiceField(   #    
  label='爱好',   #    
  choices=((1, '抽烟'), (2, '喝酒'), (3, '打麻将')),   #        
  widget=forms.widgets.CheckboxSelectMultiple,   # )    
  # grils = forms.MultipleChoiceField(    
  #     label='女朋友',    
  #     choices=((1, '抽烟'), (2, '喝酒'), (3, '打麻将')),   #    
  widget=forms.widgets.SelectMultiple,   # )  
  status = forms.ChoiceField(   #     choices=(('True',1),('False',0)),   #    
  label = 'remember me!',    
  #     widget= forms.widgets.CheckboxInput,   # )    
  # birthday = forms.CharField(   #     label='生日',   #     widget=forms.widgets.TextInput(attrs={'type':'date'})   # )

第三方库和标准库之间得有换行

第三方库  import requests
标准库 from django ...

 

 

 

校验器

 

自义校验函数

 

def clean_name(self):
  value = self.cleaned_data['name']
  if '大壮' in value:
      raise ValidationError('含有敏感词汇')
  else:
      return value
def clean(self):
  #所有通过校验的数据
  value = self.cleaned_data
  p1 = value['password']
  p2 = value['r_password']
  if p1==p2:
      return value
  else:
      self.add_error('r_password','两次输入密码不一致')
      raise ValidationError('两次输入的密码不一致')

forms 插件 动态生成数据

publishs = forms.ModelChoiceField(
      required=True,
      label='出版社',
      queryset= models.Publish.objects.all(),
      error_messages={
          'required': '不能为空',
      },
      widget=forms.widgets.Select()
  )
authors = forms.ModelMultipleChoiceField(
      label='作者',
      queryset= models.Author.objects.all(),
      error_messages = {
                        'required': '不能为空',
                    },     )

forms插件 init方法 添加属性

    def __init__(self, *args, **kwargs):
      super().__init__(*args,**kwargs)
      #self.fields 是有序字典
      for field in self.fields.values():
          field.widget.attrs.update({'class':'form-control'})

iframe 嵌入别的网页

<iframe src="http://www.xiaohuar.com" frameborder="0" width="100%" height="200px"></iframe>

 

标签:widget,16,self,label,forms,widgets,组件
来源: https://www.cnblogs.com/learn-record/p/14661931.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有