您的位置:

关于django的ImproperlyConfigured(f"{self.__class__.__name__} is missing the login_url attribute. Define "f"{self.__class__.__name__}.login_url, settings.LOGIN_URL, or override "f"{self.__class__.__name__}.get_login_url().")

  发布时间:2023-03-19 13:32:00
报错的原因如果你遇到了错误,并且错误信息中包含了 "login_url" 属性,那么可能是因为你在使用 Django 的身份验证系统时,没有正确地配置了登录 URL。如何解决为了解决错误,你需要在你的 Django 项目中设置 "LOGIN_URL" 设置,或者在你的视图中手动指定 "login_url" 属性。使用例子是的,我已经给出了两个例子,分别演示了如何在 Django 项目的设置文件中设置 "LOGIN_URL" 变量,以及如何在视图中手动指定 "login_url" 属性。如果你的问题与上述内容不符,请告诉我更多的信息,我将尽力帮助你解决问题。

报错的原因

如果你遇到了 "ImproperlyConfigured" 错误,并且错误信息中包含了 "login_url" 属性,那么可能是因为你在使用 Django 的身份验证系统时,没有正确地配置了登录 URL。

为了解决这个问题,你需要在你的 Django 项目中设置 "LOGIN_URL" 设置,或者在你的视图中手动指定 "login_url" 属性。

例如,你可以在你的 Django 项目的设置文件中(例如 settings.py)设置 "LOGIN_URL" 变量:


LOGIN_URL = '/login/'

或者,你可以在你的视图中手动指定 "login_url" 属性:


from django.contrib.auth.decorators import login_required

@login_required(login_url='/login/')
def my_view(request):
    # 视图函数代码

这样,Django 就能够确定应该使用哪个 URL 进行身份验证。

如果你的问题与上述内容不符,请告诉我更多的信息,我将尽力帮助你解决问题。

如何解决

为了解决 "ImproperlyConfigured" 错误,你需要在你的 Django 项目中设置 "LOGIN_URL" 设置,或者在你的视图中手动指定 "login_url" 属性。

例如,你可以在你的 Django 项目的设置文件中(例如 settings.py)设置 "LOGIN_URL" 变量:


LOGIN_URL = '/login/'

或者,你可以在你的视图中手动指定 "login_url" 属性:


from django.contrib.auth.decorators import login_required

@login_required(login_url='/login/')
def my_view(request):
    # 视图函数代码

这样,Django 就能够确定应该使用哪个 URL 进行身份验证。

如果你的问题与上述内容不符,请告诉我更多的信息,我将尽力帮助你解决问题。

使用例子

是的,我已经给出了两个例子,分别演示了如何在 Django 项目的设置文件中设置 "LOGIN_URL" 变量,以及如何在视图中手动指定 "login_url" 属性。

你可以在你的 Django 项目的设置文件中(例如 settings.py)设置 "LOGIN_URL" 变量:


LOGIN_URL = '/login/'

或者,你可以在你的视图中手动指定 "login_url" 属性:


from django.contrib.auth.decorators import login_required

@login_required(login_url='/login/')
def my_view(request):
    # 视图函数代码

这样,Django 就能够确定应该使用哪个 URL 进行身份验证。

如果你的问题与上述内容不符,请告诉我更多的信息,我将尽力帮助你解决问题。