简体   繁体   English

在Django中出现此错误“ login()缺少1个必需的位置参数:'user'”

[英]Getting this error in django “login() missing 1 required positional argument: 'user' ”

I am a new Django user and I just created a registration and login system for my website in Django 1.11. 我是Django的新用户,我刚刚在Django 1.11中为我的网站创建了注册和登录系统。 I am struck when I go to login section of my website. 当我进入网站的登录部分时,我感到震惊。 I get the error as mentioned "login() missing 1 required positional argument: 'user'" and I can't figure out what's wrong with the login function and the variable 'user'. 我收到错误消息,提示“ login()缺少1个必需的位置参数:'user'”,但我无法弄清登录功能和变量'user'出了什么问题。 Kindly help me. 请帮助我。 Thanks in advance. 提前致谢。 Here is my code: 这是我的代码:

urls.py: urls.py:

from django.conf.urls import url
from . import views
from django.contrib.auth import login


app_name='one'

urlpatterns = [
    url(r'^games$',views.games,name='games'),
    url(r'^others$',views.others,name='others'),
    url(r'^about$',views.about,name='about'),
    url(r'^upload$',views.UploadFile.as_view(),name='upload'),
    url(r'^register$',views.UserFormView.as_view(),name='register'),
    url(r'^login/$', login, name='login'),

]

views.py: views.py:

from django.shortcuts import render,redirect
from django.contrib.auth import authenticate, login
from django.views.generic.edit import CreateView
from .models import file
from django.views.generic import View
from .forms import user_form
class UserFormView(View):
    form_class = user_form
    template_name = 'one/register_form.html'

    def get (self,request):
        form = self.form_class(None)
        return render(request,self.template_name,{'form':form})

    def post (self,request):
        form = self.form_class(request.POST)
        if form.is_valid():
            user = form.save(commit = False)
            username= form.cleaned_data['username']
            password= form.cleaned_data['password']
            user.set_password(password)
            user.save()

            user= authenticate(username=username, password=password)

            if user is not None:

                if user.is_active:
                    login(request, user)
                    redirect('one:profile')

        return render(request,self.template_name,{'form':form}) 

You've got the import wrong. 您输入错误。 You need to import the login view: 您需要导入login视图:

from django.contrib.auth.views import login

At the moment you have imported the login function that actually logs the user in. 目前,您已导入实际用于登录用户的login功能。

The login view you are using is deprecated in Django 1.11. 您正在使用的login视图在Django 1.11中已弃用。 You can switch to the new class-based LoginView : 您可以切换到新的基于类的LoginView

from django.contrib.auth.views import LoginView

url(r'^login/$', LoginView.as_view(), name='login'),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Django登录 - 缺少1个必需的位置参数 - Django login - missing 1 required positional argument login() 缺少 1 个必需的位置参数:“用户” - login() missing 1 required positional argument: 'user' 错误:login() 缺少 1 个必需的位置参数 - Error: login() missing 1 required positional argument /login login() 的 TypeError 缺少 1 个必需的位置参数:“用户” - TypeError at /login login() missing 1 required positional argument: 'User' 尝试在 Django 中的 CRUD 操作模型中实例化记录,出现错误“update_user() 缺少 1 个必需的位置参数:‘eid’ - trying to instantiate the record in a model for CRUD operations in Django getting error "update_user() missing 1 required positional argument: 'eid' Django缺少1个必需的位置参数 - Django missing 1 required positional argument TypeError:force_login()缺少1个必需的位置参数:“ user” - TypeError: force_login() missing 1 required positional argument: 'user' Django allauth登录/注销错误:is_safe_url()缺少1个必需的位置参数'allowed_hosts' - Django allauth login/logout error: is_safe_url() missing 1 required positional argument 'allowed_hosts' django:__init__() 缺少 1 个必需的位置参数:“用户” - django: __init__() missing 1 required positional argument: 'user' del_user()缺少1个必需的位置参数:“用户名”-Django - del_user() missing 1 required positional argument: 'username' - Django
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM