0
當我經過Django的教程中,我感到困惑的形式構造的方式,這裏是link在下面的代碼是:Django的文件上傳表單構造解釋
forms.py
from django import forms
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
views.py
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import UploadFileForm
# Imaginary function to handle an uploaded file.
from somewhere import handle_uploaded_file
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/success/url/')
else:
form = UploadFileForm()
return render(request, 'upload.html', {'form': form})
問題:在哪裏可以找到UploadFileForm
的構造函數聲明?
混淆的一部分可能是Python中沒有確切的構造函數;有一個類對象的'__new__'方法(基本上是構造函數)和更廣泛的被覆蓋的'__init__'方法。查看@doniyor鏈接的Django源代碼;您的'UploadFileForm'子類'forms.Form',它繼承自'BaseForm'類。在實例化時,所有這些都調用了'BaseForm'類對象的'__init__'方法。 –