如何在一个vi上使用两个模型表单

2024-09-27 21:34:30 发布

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

我还是django新手,我正在做一个项目,我需要用户输入一些他们想出租的房子的信息。我希望用户上传至少6张图片,从我收集到的资料来看,在django上最好的方法是使用两个模型,一个收集房屋的基本信息,第二个存储房屋的图像。我该如何编写视图.py. 我都试过了,都没用。在

表单.py

class MyHouseEditForm(forms.ModelForm):    
    class Meta:        
        model = Myhouses        
        fields = ('name_of_accomodation', 
                  'type_of_apartment','Number_of_rooms', 'house_rent', 
                  'availability', 'location', 'nearest_institution', 
                  'description',) 


class ImageForm(forms.ModelForm):  
    class Meta:
        model = Image
        fields = ('__all__' )

模型.py

^{pr2}$

视图.py

def addlisting(request):    
    if request.method == 'POST': 
        Hform = MyHouseEditForm(request.POST, files=request.FILES, )
        Iform = ImageForm(request.POST, request.FILES, )
        if Hform.is_valid() and Iform.is_valid():    
            Houses = Hform.save(commit=False)
            Houses.author=request.user
            Houses.save()

            image = iform.save(commit=False)
            Houses.image.myhouses = myhouses
            Houses.save()
            messages.success(request, 'Listing Created Succesfully successfully')
            return redirect('addlisting')           
    else:        
        Hform = MyHouseEditForm()
        Iform = ImageForm()

    return render(request, 'houses/addlisting.html', {'Hform':Hform, 'Iform': Iform},  )

Tags: ofdjango用户py信息requestsavepost

热门问题