Django 3 forms.py中的多个表单

2024-09-26 22:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我是django的新手,我正在尝试在多个基于类的视图中构建多个表单

我的forms.py看起来像这样

from django import forms
from .models import Photo


class PhotoForm(forms.ModelForm):
    class Meta:
        model = Photo
        fields = ('file', )

class NewContactForm(forms.Form):
    your_name = forms.CharField(label='Your name', max_length=100)

我希望我的观点是:

...
from app_workflow.forms import PhotoForm, NewContactForm

class NewContactView(View):
    def get(self, request):
        ...
    def post(self, request):
        form = NewContactForm(self.request.POST, self.request.FILES)
        if form.is_valid():
            data = {'is_valid': True, 'name': photo.file.name, 'url': photo.file.url}
        else:
            data = {'is_valid': False}
        return JsonResponse(data)

class DragAndDropUploadView(View):
    def get(self, request):
        ...
    def post(self, request):
        form = PhotoForm(self.request.POST, self.request.FILES)
        if form.is_valid():
            data = {'is_valid': True, 'name': photo.file.name, 'url': photo.file.url}
        else:
            data = {'is_valid': False}
        return JsonResponse(data)

但是,当我将NewContactForm添加到myapp.forms的导入中时

从app_workflow.forms导入照片表单、新联系人表单

我得到一个错误:

from app_workflow.forms import PhotoForm, NewContactForm ImportError: cannot import name 'NewContactForm' from 'app_workflow.forms'

因此,我不知道什么是最好的方式,带来和能够使用第二种形式


Tags: namefromimportselfappdataisrequest

热门问题