亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 中的類型錯誤:save() 得到了意外的關鍵字參數“force_insert”

Django 中的類型錯誤:save() 得到了意外的關鍵字參數“force_insert”

慕蓋茨4494581 2023-08-03 17:10:03
這是關于課程中的一個博客項目,它似乎適用于許多其他學生,但不適用于我。所以我想看看我的代碼出了什么問題。錯誤信息是:TypeError at /register/save() got an unexpected keyword argument 'force_insert'與問題文件相關的內容如下:users/ views.py:(在register函數的第四個原始中是失敗的save()方法)from django.shortcuts import render, redirectfrom django.contrib import messagesfrom django.contrib.auth.decorators import login_requiredfrom .forms import UserRegisterForm, UserUpdateForm, ProfileUpdateFormdef register(request):    if request.method == 'POST':        form = UserRegisterForm(request.POST)        if form.is_valid():            form.save()            username = form.cleaned_data.get('username')            messages.success(request, f"Your account has been created! You are now able to log in")            return redirect('login')    else:        form = UserRegisterForm()    return render(request, 'blog/register.html', {'form': form})@login_requireddef profile(request):    if request.method == 'POST':        u_form = UserUpdateForm(request.POST, instance=request.user)        p_form = ProfileUpdateForm(request.POST, request.FILES, instance=request.user.profile)        if u_form.is_valid() and p_form.is_valid():            u_form.save()            p_form.save()            messages.success(request, f"Your account has been updated!")            return redirect('profile')    else:        u_form = UserUpdateForm(instance=request.user)        p_form = ProfileUpdateForm(instance=request.user.profile)    context = {        'u_form': u_form,        'p_form': p_form    }    return render(request, 'blog/profile.html', context)用戶/模型.py:from django.db import modelsfrom django.contrib.auth.models import Userfrom PIL import Imageclass Profile(models.Model):    user = models.OneToOneField(User, on_delete=models.CASCADE)    image = models.ImageField(default='default.jpg', upload_to='profile_pics')    def __str__(self):        return f"{self.user.username} Profile"
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

當重寫saveDjango 中的方法時,也應該保留簽名。


更改為def save(self, *args, **kwargs):


    def save(self, *args, **kwargs):

        super(Profile, self).save(*args, **kwargs)


        img = Image.open(self.image.path)


        if img.height > 300 or img.width > 300:

            output_size = (300, 300)

            img.thumbnail(output_size)

            img.save(self.image.path)


查看完整回答
反對 回復 2023-08-03
  • 1 回答
  • 0 關注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號