[英]convert function based view to class based view django
我試圖通過變量中的 POST 方法獲取表單數據,然后嘗試驗證它。 我已經使用基於 django 函數的視圖完成了它。 但現在我想將它轉換為基於 django 類的 vied。 因此,任何人都可以幫助將我的以下代碼轉換為基於 django 類的視圖。
from .forms import contact_form
def contact_us(request):
if request.method == "POST":
form = contact_form(request.POST)
# return HttpResponse(form)
if form.is_valid():
return HttpResponse("Data is valid")
else:
return HttpResponse("Data is invalid")
我的想法基本上如下:'''
from django.views.generic.edit import FormView
from .forms import ContactForm
class ContactUsView(FormView):
def post(self , request):
# this method will handle event when reques is come through POST method
def get(delf , request):
# this method will handle event when reques is come through POST method
'''
您可以使用FormView
[Django-doc] :
from django.views.generic.edit import FormView
from .forms import contact_form
class ContactUsView(FormView):
form_class = contact_form
template_name = ''
def form_valid(self, form):
return HttpResponse('Data is valid')
def form_invalid(self, form):
return HttpResponse('Data is invalid')
對於 GET 請求,默認行為是使用指定form_class
的表單對象作為form
變量呈現template_name
。
注意:Django 中的表單是用PascalCase編寫的,而不是snake_case ,因此您可能希望將模型從
重命名為contact_form
ContactForm
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.