簡體   English   中英

我想使用 django 將圖像保存在文件夾中,但出現此錯誤

[英]I Want To Save image in folder using django but i get this error

我想使用 django 將圖像保存在文件夾中,但出現此錯誤:

MultiValueDictKeyError at /lunchpk/signup/

我需要解決任何幫助將不勝感激

我還看到更多問題,但我沒有得到正確答案,所以請回答我的問題,不要將其添加到重復中

這是我的views.py

def signup(request):
    registered = False
    if request.method == "POST":
        user_form = UserForm(data=request.POST)
        profile_form = NewForm(data=request.POST)

        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save()
            user.set_password(user.password)
            user.save()

            profile = profile_form.save(commit=False)
            profile.user = user

            if 'Profile_Image' in request.FILES:
                profile.Profile_Image = request.FILES['profile_pics']
                # profile.Dish_Image = request.FILES['Dish_pic']

            profile.save()

            registered = True

        else:
            print(user_form.errors,profile_form.errors)
    else:
        user_form = UserForm()
        profile_form = NewForm()

    return render(request,'html/signup.html',{'user_form':user_form,'profile_form':profile_form,'registered':registered})

這是我的model.py

class UserInfo(models.Model):
    user = models.OneToOneField(User,on_delete=models.CASCADE)

    Profile_Image = models.ImageField(upload_to='profile_pics',null=True, blank=True)
    Dish_Image = models.ImageField(upload_to='Dish_pic',null=True, blank=True)
    Dish_Name = models.CharField(max_length=10,)

    def __str__(self):
        return self.user.username

這是我的forms.py

from django import forms
from django.contrib.auth.models import User
from .models import *

class UserForm(forms.ModelForm):
    password = forms.CharField(widget=forms.PasswordInput())
    class Meta:
        model = User
        fields = ('username','email','password')

class NewForm(forms.ModelForm):

    class Meta:
        model = UserInfo
        fields = ('Profile_Image','Dish_Image','Dish_Name')

您在 request.FILES 中要求一個鍵'profile_pics' ,但它不存在。

在常規字典中,您會得到一個 KeyError。 但是,可以有多個同名的請求參數,所以 Django 使用了一個 MultiValueDict,它有自己的 MultiValueDictKeyError。

我想你想要request.FILES['Profile_Image']而不是request.FILES['profile_pics']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM