Python “覆盖和自定义”;django.contrib.auth.views.login“;

Python “覆盖和自定义”;django.contrib.auth.views.login“;,python,django,Python,Django,我试图在Django的默认登录视图中添加一个“让我登录”复选框 以下是我正在做的: url.py url(r'^login/$', myuser_login, {'template_name': 'app_registration/login.html', 'authentication_form': MyAuthenticationForm}, name='auth_login', ), from django.contrib.auth.views import lo

我试图在Django的默认登录视图中添加一个“让我登录”复选框

以下是我正在做的:

url.py

url(r'^login/$',
    myuser_login,
    {'template_name': 'app_registration/login.html', 'authentication_form': MyAuthenticationForm},
    name='auth_login',
),
from django.contrib.auth.views import login

def myuser_login(request, *args, **kwargs):
    if request.method == 'POST':
        if not request.POST.get('remember', None):
            request.session.set_expiry(0)

    login(request, *args, **kwargs)
视图.py

url(r'^login/$',
    myuser_login,
    {'template_name': 'app_registration/login.html', 'authentication_form': MyAuthenticationForm},
    name='auth_login',
),
from django.contrib.auth.views import login

def myuser_login(request, *args, **kwargs):
    if request.method == 'POST':
        if not request.POST.get('remember', None):
            request.session.set_expiry(0)

    login(request, *args, **kwargs)
因此,基本上,我试图向自己的视图中添加额外的信息,只需调用Django的默认登录函数。当我执行此操作时,会出现以下错误:

ValueError at /accounts/login/
The view app_registration.views.myuser_login didn't return an HttpResponse object.
我检查了Django源代码,默认的contrib.auth.views.login函数显然返回了一个HttpResponse

我该怎么办


谢谢!!

所有django视图必须返回
HttpResponse
。您的视图没有返回任何内容

你应该像这样回来

def myuser_login(request, *args, **kwargs):
    if request.method == 'POST':
        if not request.POST.get('remember', None):
            request.session.set_expiry(0)

    return login(request, *args, **kwargs)

如果你需要添加额外的上下文,你能展示一下这会是什么样子吗?