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

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

Django-recaptcha 總是顯示“此字段為必填項”。甚至堅韌它在那里

Django-recaptcha 總是顯示“此字段為必填項”。甚至堅韌它在那里

瀟湘沐 2023-05-09 15:22:15
我正在嘗試在我的一個項目中使用 Recaptcha v3。不幸的是, form.valid_date() 方法總是失敗,并顯示“此字段為必填項。”。運行 django-recaptcha。forms.py 看起來像這樣:class AccountForm(forms.ModelForm):    # adding some default validators    phone = forms.CharField(validators=[MinLengthValidator(10)], error_messages={'invalid':_("Please add a valid phone number.")})    terms = forms.BooleanField()    captcha = ReCaptchaField(        public_key=settings.RECAPTCHA_PUBLIC_KEY,        private_key=settings.RECAPTCHA_PRIVATE_KEY,        widget=ReCaptchaV3(            attrs={                'required_score': 0.85,            }        )    )    class Meta:        model = Account        fields = ['phone', 'terms']    def clean_phone(self):        data = self.cleaned_data['phone']        if not validate_phone(data):            raise forms.ValidationError(_("Please add a valid phone number. "))        return data    def clean_terms(self):        data = self.cleaned_data['terms']        if not True:            raise forms.ValidationError(_("Please accept the T&Cs"))        return dataviews.py 看起來像這樣:def register_web(request: object) -> object:    key = request.GET.get('key', '')    merchant = request.GET.get('merchant', '')    if request.method == 'POST':        print(form.is_valid())        print(form.errors)        if form.is_valid():            phone = phone_filter(str(request.POST.get('phone')).replace(' ', ''))            name = request.POST.get('name', '')            confirmationForm = ConfirmationForm()            return render(request, 'registerWebConfirmation.html', {'context':context })        else:                        return render(request, 'registerWeb.html', {'form': form})    else:        return render(request, 'registerWeb.html', {'form': form})views.py 中的打印說明:False<ul class="errorlist"><li>captcha<ul class="errorlist"><li>This field is required.</li></ul></li></ul>
查看完整描述

1 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

我試圖復制你的問題,正如你所說,表單is_valid()總是返回False錯誤This field is required.

但是在我注冊了ReCaptcha并將RECAPTCHA_PUBLIC_KEY和更改RECAPTCHA_PRIVATE_KEY為正確的值后,錯誤消失并form.is_vaild()返回True.

我假設您沒有為這些配置使用實際值并更改它來解決您的問題?;蛘?,也許您確實輸入了實際值,但仍然出現錯誤。然后我建議仔細檢查這些值。一定有錯別字。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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