gpt4 book ai didi

django - 在 Django 中将代码添加到注销 View 的正确方法

转载 作者:行者123 更新时间:2023-12-03 10:21:50 27 4
gpt4 key购买 nike

我用另一个函数包装了 django.contrib.auth.views.logout 来添加额外的行为。这是我的新注销页面:

View .py

from django.contrib.auth import logout
def logout_page(request, *args, **kwargs):
from django.utils import timezone
user = request.user
profile = user.get_profile()
profile.last_logout = timezone.now()
profile.save()
logout(request, *args, **kwargs)

网址.py

(r'^logout/$', 'main.views.logout_page', {'next_page': '/'})

但我收到以下错误:

logout() got an unexpected keyword argument 'next_page'

我不确定为什么当注销包含 **kwargs 时 'next_page' 是一个意外参数,据我所知,从 django.contrib.auth 注销应该包含这样的参数。来自来源:

https://github.com/django/django/blob/master/django/contrib/auth/views.py

def logout(request, next_page=None,
template_name='registration/logged_out.html',
redirect_field_name=REDIRECT_FIELD_NAME,
current_app=None, extra_context=None):
...

我该如何解决这个问题?

最佳答案

你调用了错误的 logout

from django.contrib.auth import logout

应该是

from django.contrib.auth.views import logout

关于django - 在 Django 中将代码添加到注销 View 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11814134/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com