django - Django 2.2 默认登录网址
问题描述
我想加载 Django 内置登录页面,但不使用 URL http://127.0.0.1:8000/login/,而不是这个我试图加载登录页面,如这个 URL http://127.0.0.1: 8000/
我努力了 :
LOGIN_URL ='/login/' - (in settings.py)
@login_required()- (in the app view.py)
@login_required(login_url='/login/') - (in the app view.py)
这两种方法都没有帮助我,请有人帮我解决这个问题。
项目地址.py
urlpatterns = [
path('admin/', admin.site.urls),
path('',include('home.urls')),
]
我在底部包含的项目 settings.py 如下所示
LOGIN_URL='/login/'
LOGIN_REDIRECT_URL= 'home'
LOGOUT_REDIRECT_URL ='home'
在我的应用网址中
#from django.urls import path, include
from home.views import HomeView
urlpatterns = [
path('',include('django.contrib.auth.urls')),
path('home',HomeView, name='home'),
]
在应用程序视图.py
from django.http import HttpResponse
from django.shortcuts import render
@login_required(login_url='/login/')
def HomeView(request):
return render(request, "home.html")
总的来说,我希望加载 Django 默认登录页面而不在 url 中传递 /login/ 或 account/login 。
解决方案
你可以使用一个泛型类
from django.contrib import admin
from django.urls import path, include
from django.views.generic.base import RedirectView
urlpatterns = [
path('', RedirectView.as_view(url='/admin/'), name='django_admin'),
path('admin/', admin.site.urls),
path('other/', include('other.urls')),
]
https://docs.djangoproject.com/en/2.2/ref/class-based-views/base/
推荐阅读
- javascript - 如何在 ejs 视图中渲染 css?
- python - PySpark udf 中的 Numpy randint 返回意外值
- dgraph - DGraph 查询语言:如果所有元素完全匹配,则比较两组
- r - 根据 R 中的 ID 将列值拆分为多个列
- ios - 无法通过 Jenkins (Swift 12.0) 安装 pod
- spring-boot - 带有 seda 端点的 Apache Camel 消息确认
- python - SMOTE 技术不会过采样图像数据集
- c# - 根据 Microsoft Docs,为什么 SortedDictionary.GetEnumerator() 是 C# 中的 O(log n) 操作?
- c# - 尝试将值分配给 C# 中的二维数组时,索引超出范围异常
- directory - 每个月的平均小时数,文件位于 Python 中的多个文件夹中