django:form 구성 요소

3486 단어 django
django의 form은 사용자에게 검증을 제공하고 form 구성 요소도 html을 생성할 수 있습니다. 저희는 아래 코드를 통해 form 구성 요소를 만들 수 있습니다.
from django import forms
from django.forms import widgets
from django.forms import fields

class user_conform(forms.Form):
    user=fields.CharField( error_messages={'required': '       .'},
        widget=widgets.TextInput(attrs={'class': 'c1'}),
        label="   ",
        )
    email = fields.EmailField(error_messages={'required': '      .','invalid':"      "})
    pwd=fields.CharField(max_length=11,
                         min_length=6,
        error_messages={'required':'      ','max_length':'      11 ','min_length':'      6 '})
    city1=fields.ChoiceField(choices=[(0,'  '),(1,'  '),(2,'  ')])
    city2=fields.MultipleChoiceField(choices=[(0,'  '),(1,'  '),(2,'  ')])

여기userform 클래스의 필드는 검증할 html의 라벨의name와 같아야 합니다.form 검증할 때obj를 통해서.is_valid () 방법으로 검증 결과가false인지true인지 확인
  def login_test(request):
        #          dict
        if request.method=='GET':
    
            dict={'user':'  ',
              'email':'[email protected]',
              'pwd':'kaierteren',
              'city1':1,
              'city2':[0,2]
              }
            form_obj=user_conform(initial=dict)
            #        user_conform 
    
            return render(request,'login_test.html',{'obj':form_obj})
        else:
            obj=user_conform(request.POST)
            # post    form    
            if obj.is_valid():
                print(type(obj.cleaned_data))
                #           
            else:
                return render(request,'login_test.html', {'obj': obj})
        return HttpResponse('  ')

form 구성 요소도 html을 생성할 수 있습니다. 상기 코드에서 백엔드에서 전방으로userconform류의 대상, 이 대상은 html을 생성할 수 있습니다.다음 코드를 보십시오.



    
    


<form action="/llll/" method="post">
    {% csrf_token %}
    <p>{{ obj.user.label }}:{{ obj.user }} {{obj.errors.user.0}}</p>
    <p>{{ obj.pwd.label }}{{obj.pwd}} {{ obj.errors.pwd.0 }}</p>
    <p>{{ obj.email.label }}{{ obj.email }}{{ obj.errors.email.0 }}</p>
    {{ obj.city1 }}
    {{ obj.city2 }}
    <input type="submit" value="  "/>
</form>
 

</code></pre> 
  <p>  obj.user.label, obj.user, obj.errors.user.0       html  ,      ,     。<br/>    form    。<br/> class user_conform(forms.Form):<br/> user=fields.CharField( error_messages={‘required’: ‘       .’},#        <br/> widget=widgets.TextInput(attrs={‘class’: ‘c1’}),<br/> label=“   ”,<br/> )#        <br/> email = fields.EmailField(error_messages={‘required’: ‘      .’,‘invalid’:“      ”})<br/> pwd=fields.CharField(max_length=11,<br/> min_length=6,<br/> error_messages={‘required’:‘      ’,‘max_length’:‘      11 ’,‘min_length’:‘      6 ’})<br/> city1=fields.ChoiceField(choices=[(0,‘  ’),(1,‘  ’),(2,‘  ’)])<br/> city2=fields.MultipleChoiceField(choices=[(0,‘  ’),(1,‘  ’),(2,‘  ’)])</p> 
 </div> 
</div>
                            </div>
                        </div>

좋은 웹페이지 즐겨찾기