阅读 229

forms组件

forms组件

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.cncsto.com" frameborder="0" width="100%" height="200px"></iframe>


文章分类
后端
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐