TypeError: View.__init__() takes 1 positional argument but 3 were given

Viewed 40

when a user is registered he should be directly logged in instead of showing the login page,when in click register button on the register page this error is shown views.py thanks in advance

from django.contrib.auth import login
from django.views.generic import ListView,DetailView,CreateView,UpdateView,DeleteView,FormView

class register(FormView):
model=task
form_class=UserCreationForm
template_name='register.html'
success_url=reverse_lazy('all')

def form_valid(self, form):
    user=form.save()
    if user is not None:
        login(self.request,user)  
    return super(register,self).form_valid(form)

urls.py

from.views import display_all,display_detail,insert_detail,update_detail,delete_task,login,register
urlpatterns = [
path('',display_all.as_view(),name='all'),
path('view_detail/<int:pk>',display_detail.as_view(),name='detail'),
path('insert_detail/',insert_detail.as_view(),name='insert'),
path('update_detail/<int:pk>',update_detail.as_view(),name='update'),
path('delete_detail/<int:pk>',delete_task.as_view(),name='delete'),
path('login/',login.as_view(),name='login'),
path('logout/',LogoutView.as_view(next_page='all'),name='logout'),
path('register/',register.as_view(),name='register')

register.html

<body>
<form action="" method="post">
    {{form.as_p}}
    {% csrf_token %}
    <input type="submit" value="signup">
</form>

traceback:

Environment:

Traceback (most recent call last):
  File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\django\views\generic\base.py", line 103, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\django\views\generic\base.py", line 142, in dispatch
    return handler(request, *args, **kwargs)
  File "C:\Users\hp\AppData\Local\Programs\Python\Python310\lib\site-packages\django\views\generic\edit.py", line 153, in post
    return self.form_valid(form)
  File "C:\Users\hp\TodoList\base\views.py", line 63, in form_valid
    login(self,user)

Exception Type: TypeError at /register/
Exception Value: View.__init__() takes 1 positional argument but 3 were given
0 Answers
Related