Python ';功能';对象没有属性';获取';django中的错误
尊敬的django专家们:, 我的网站有问题,我正在使用django中的defualt登录视图Python ';功能';对象没有属性';获取';django中的错误,python,django,Python,Django,尊敬的django专家们:, 我的网站有问题,我正在使用django中的defualt登录视图 from django.contrib.auth import views as auth_views 代码正在运行 类似于URL.py文件中的以下内容: from django.contrib.auth import views as auth_views path('login/',auth_views.LoginView.as_view(template_name='website/logi
from django.contrib.auth import views as auth_views
代码正在运行类似于URL.py文件中的以下内容:
from django.contrib.auth import views as auth_views
path('login/',auth_views.LoginView.as_view(template_name='website/login.html'), name='login-page'),
但是使用这种方法,我的views.py文件中没有视图。问题是我需要在我的viwes.py中定义一个视图来记录访问此页面的任何人的日志问题是当我尝试以下代码时,我得到错误“'function'对象没有属性'get'”
给出错误的代码如下所示:
views.py
url.py
path('login/',views.login, name='login-page'),
.LoginView.as_view()
不处理请求,它只返回一个函数来分派请求,因此需要调用作为结果的函数。as_view(…)
以请求作为参数:
from django.contrib.auth import views as auth_views
def login(request):
ip = get_client_ip(request)
logger.info(f'user access: {request.user} via ip:{ip}')
return auth_views.LoginView.as_view(template_name='website/login.html')(request)
然后注册您的MyLoginView
:
from appname.views import MyLoginView
path('login/', MyLoginView.as_view(), name='login-page'),
从appname.views导入MyLoginView
路径('login/',MyLoginView.as_view(),name='login-page'),
感谢您的回答我知道这看起来很奇怪,但我正在构建此网站以进行安全测试。谢谢你的建议
# appname/views.py
from django.contrib.auth.views import LoginView
class MyLoginView(LoginView):
template_name='website/login.html'
def setup(self, request, *args, **kwargs):
super().setup(request, *args, **kwargs)
ip = get_client_ip(request)
logger.info(f'user access: {request.user} via ip:{ip}')
from appname.views import MyLoginView
path('login/', MyLoginView.as_view(), name='login-page'),