0

我在Django中構建一個項目,並且我使用django-allauth進行社交身份驗證,但我已經建立了自己的身份驗證系統。
現在,正如我所說的,我只是想將django-allauth用於社交身份驗證,但不適用於經典身份驗證,因爲 - 我已經嘗試過 - 它的身份驗證系統與我自己的身份驗證系統發生衝突。在Django allauth中覆蓋表單

我試圖通過創建像一個FormView壓倒一切形式的下:

class LoginUser(FormView): 
    template_name = 'account/login.html' 
    form_class = MyLoginForm 

調用此形式:

class MyLoginForm(forms.ModelForm): 
    """ 
    A form that login a user. 
    """ 

    email = forms.EmailField(label='', required=True, widget = forms.TextInput(
     attrs = { 
      'placeholder': 'DIOCAAAAA', 
      'class': 'form-control', 
      'id': 'login-email' 
     } 
    )) 

    password1 = forms.CharField(label='', required=True, widget=forms.PasswordInput(attrs = { 
      'placeholder': 'Password', 
      'class': 'form-control', 
      'id': 'login-password', 
      'data-parsley-trigger': 'focusout' 
     } 
    )) 

    class Meta: 
     model = CustomUser 
     fields = ('email',) 

而且我已經添加了這個在網址:

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^accounts/', include('allauth.urls')), 
    **url(r'^accounts/login/$', views.LoginUser.as_view()),** 
    [...] 
) 

但我得到這個錯誤:

TypeError at /accounts/login/
init() got an unexpected keyword argument 'request'

我是否正在朝着正確的方向前進,還是應該嘗試其他方法?

回答

0

試圖改變您的網址是不同的位置,我覺得跟allauth網址您的網址衝突,因爲allauth已經有這個

url(r'^accounts/login/$')