第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

當(dāng)?shù)卿浽?django 上正常工作時(shí),注冊(cè)表單不起作用

當(dāng)?shù)卿浽?django 上正常工作時(shí),注冊(cè)表單不起作用

Qyouu 2021-06-14 16:21:09
當(dāng)?shù)卿浌ぷ髡r(shí),我無法進(jìn)行 sigupfrom django import formsfrom django.contrib.auth.models import Userfrom django.core.exceptions import ValidationErrorclass UserForm(forms.ModelForm):    password=forms.CharField(widget=forms.PasswordInput)    class Meta:        model=User        fields=['first_name', 'last_name',                'email', 'username',                'password']        label={            'password':'Password'}def clean_email(self):    if self.cleaned_data['email'].endswith('@gmail.com')    return self.cleaned_data['email']    else:        raise ValidationError("error")def save(self):    password=self.cleaned_data.pop('password')    u=super().save()    u.set_password(password)    u.save()    return u項(xiàng)目鏈接- https://github.com/tsuryaa/my_project/
查看完整描述

2 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊

修復(fù)你的縮進(jìn)。目前save和clean方法不是 UserForm 類的一部分。它應(yīng)該看起來更像這樣:


from django import forms

from django.contrib.auth.models import User

from django.core.exceptions import ValidationError


class UserForm(forms.ModelForm):

    password=forms.CharField(widget=forms.PasswordInput)

    class Meta:

        model=User

        fields=['first_name', 'last_name',

                'email', 'username',

                'password']

        label={

            'password':'Password'

            }

    def save(self):

        password=self.cleaned_data.pop('password')

        u=super().save()

        u.set_password(password)

        u.save()

        return u

整個(gè)clean方法也應(yīng)該是縮進(jìn)的,所以它是UserForm頂層的一部分而不是頂層。


查看完整回答
反對(duì) 回復(fù) 2021-06-22
?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

if您clean_mail方法中的語句缺少冒號(hào)。


def clean_email(self):

    if self.cleaned_data['email'].endswith('@gmail.com'):

        ...

同樣在你的save方法中,你必須有參數(shù)commit。如果有任何東西覆蓋了你的表單,或者想要修改它正在保存的內(nèi)容,它會(huì)做save(commit=False),修改輸出,然后保存它自己。


def save(self, commit=True):

    password = self.cleaned_data.pop('password')

    u = super(UserForm, self).save(commit=False)

    # do custom stuff here

    u.set_password(password)

    if commit:

        u.save()

    return u

你可以閱讀更多關(guān)于save method 這里


查看完整回答
反對(duì) 回復(fù) 2021-06-22
  • 2 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)