django allauth login & signup form on homepage

后端 未结 2 1082
甜味超标
甜味超标 2020-12-17 04:44

I have been looking for a solution for some time now and I am not able to wrap my head around this. All I am trying to accomplish is to have the allauth login and signup for

2条回答
  •  臣服心动
    2020-12-17 05:08

    First we take create a custom view using allauth's signup view

    from allauth.accounts.views import SignupView
    from allauth.accounts.forms import LoginForm
    
    
    class CustomSignupView(SignupView):
        # here we add some context to the already existing context
        def get_context_data(self, **kwargs):
            # we get context data from original view
            context = super(CustomSignupView,
                            self).get_context_data(**kwargs)
            context['login_form'] = LoginForm() # add form to context
            return context
    

    Validation errors will not be rendered here for login form, we then need to create a custom LoginView, but for now let's move on to the template

     
    
    {% csrf_token %} {{ form.as_p }}

    Add some javascript to toggle these. The actions point the forms in different directions. Normally we would use formsets for this but since All-auth's signup form is not a Form object this may be the quickest way to do it.

    These all go in views.py of any app you choose, the tags go inside of a template defined in settings.py, TEMPLATE_DIRS or Dirs list in django1.8

提交回复
热议问题