Forms#- 양식 베이스
# forms.py
from django import forms
class NameForm(forms.Form):
your_name = forms.CharField(label='Your name', max_length=100)
여기서 주의해야 할 사항은 다음과 같습니다.label 매개 변수는 무시할 수 있습니다. Django는 자동으로 이 열에 label을 생성합니다. (사실 여기 label이 지정한 이름은 Django가 자동으로 생성한 이름과 같습니다) max_length은 HTML의 양식에 대응하는 열의 maxlength 속성을 지정하고 브라우저 양식에서 제출한 내용의 길이를 합리화 처리 is_valid() 메서드가 있습니다.cleaned_data 속성에 마지막으로 위의 Django에서 만든 양식은 HTML에
으로 표시됩니다. 참고: 태그 from django.shortcuts import render
from django.http import HttpResponseRedirect
from .forms import NameForm
def get_name(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = NameForm(request.POST)
# check whether it's valid:
if form.is_valid():
# process the data in form.cleaned_data as required
# ...
# redirect to a new URL:
return HttpResponseRedirect('/thanks/')
# if a GET (or any other method) we'll create a blank form
else:
form = NameForm()
return render(request, 'name.html', {'form': form})
모든 유용한 정보는 코드의 주석에서
{% csrf_token %}
{{ form }}
{{ form }} 변수 중의 폼 내용은 자동으로 분리되어 일부 브라우저에서 url, eamil, number 등 라벨에 대한 합리성 검사가 Django보다 엄격하다. 이때 Django의 URLField, EmailField 등을 사용하지 않고 예를 들어 TextField으로 대체할 수 있다.Django의 Form classes
is_bound 데이터를 통해 이 표의 귀속 여부를 알려줍니다 더 많은 양식 유형# forms.py
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField(widget=forms.Textarea)
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)
widgets는 각 폼 열에 대응하는
widget class이 HTML을 지정하는 폼의 라벨의 type 속성이 있는데 대부분 field마다 자신의 기본 widget이 있지만 우리는 widget 파라미터를 통해 필요한 type 유형을 현저하게 지정할 수 있다성공적으로 제출된 데이터는 사전 형식으로 폼 대상의
cleaned_data 속성에 저장됩니다# views.py
if form.is_valid():
subject = form.cleaned_data['subject']
message = form.cleaned_data['message']
sender = form.cleaned_data['sender']
cc_myself = form.cleaned_data['cc_myself']
일부 필드는 다른 처리 방식이 필요합니다.예를 들어 업로드된 파일이
request.FILES에 있음템플릿의 양식 작업
{{ form }} 템플릿 변수는 정의된 필드에 따라 과 태그 {{ form.as_p }}, {{ form.as_table }}, {{ from.as_ul }}은 각 탭 열에 각각 , ( 태그 사용) 상단 ContactForm이 {{ from.as_p }}을 통해 획득한 HTML 양식:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.