我一直在寻找似乎行不通的过时解决方案。在
我正在尝试将错误信息从英语改为希伯来语,对于我在django allauth的网站,我没有检查他们是否有任何翻译,因为我想写他们自己无论如何。在
例如,我尝试用以下代码更改重复电子邮件错误。在
表单.py
from allauth.account.forms import SignupForm
class CustomSignupForm(SignupForm):
def raise_duplicate_email_error(self):
raise forms.ValidationError("שם משתמש כבר קיים עם כתובת אימייל")
基准.py(基本设置文件)
^{pr2}$这导致以下错误:
__init__() got an unexpected keyword argument 'sociallogin'
回溯:
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
132. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/django/views/generic/base.py" in view
71. return self.dispatch(request, *args, **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/allauth/socialaccount/views.py" in dispatch
38. return super(SignupView, self).dispatch(request, *args, **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/allauth/account/views.py" in dispatch
68. **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/allauth/account/views.py" in dispatch
151. **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/django/views/generic/base.py" in dispatch
89. return handler(request, *args, **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/django/views/generic/edit.py" in get
205. form = self.get_form()
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/django/views/generic/edit.py" in get_form
74. return form_class(**self.get_form_kwargs())
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/allauth/account/forms.py" in __init__
289. super(SignupForm, self).__init__(*args, **kwargs)
File "/home/david/.virtualenvs/sikumim/lib/python3.4/site-packages/allauth/account/forms.py" in __init__
223. super(BaseSignupForm, self).__init__(*args, **kwargs)
Exception Type: TypeError at /accounts/social/signup/
Exception Value: __init__() got an unexpected keyword argument 'sociallogin'
我做错什么了?在
您需要重写
__init__()
方法并将sociallogin
定义为参数,然后该参数将不会传递给超级类的__init__()
方法。在像这样:
您继承的是allauth.account.forms.SignupForm但在设置SOCIALACCOUNT_FORMS中使用它,这是用于社交帐户的。您的代码应该如下所示:
网站/表单.py
设置.py
^{pr2}$相关问题 更多 >
编程相关推荐