Django中如何将登录重定向至App级模板的首页?
Django内置登录系统重定向到应用级首页的实现方法
首先要明确一个误区:LOGIN_REDIRECT_URL 配置的是URL路由的名称,不是模板文件的存储路径——不管模板放在项目级还是应用级目录,只要URL和视图配置正确,就能实现登录后的重定向。
具体操作步骤如下:
将应用的URL配置纳入项目路由
打开项目根目录的urls.py,添加应用URL的引用,确保应用的路由能被项目识别:from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('app_name.urls')), # 替换app_name为你的实际应用名称 ]在应用内配置首页的URL路由
进入应用目录的urls.py(如果没有就新建一个),定义首页的路由并设置名称为home(和LOGIN_REDIRECT_URL的值对应):from django.urls import path from . import views urlpatterns = [ path('', views.home_view, name='home'), ]编写首页视图并指定应用级模板
在应用的views.py中创建首页视图,Django会自动在应用的templates目录下查找模板文件:from django.shortcuts import render def home_view(request): # 这里的模板路径对应 app_name/templates/home.html return render(request, 'home.html')保持
settings.py的重定向配置不变
不需要修改原有的配置,依然保留:LOGIN_REDIRECT_URL = "home"
如果不想使用home作为路由名称,也可以直接指定URL路径,比如LOGIN_REDIRECT_URL = "/",但使用路由名称更灵活,后续修改URL路径时无需改动settings.py。
内容的提问来源于stack exchange,提问作者kelvinmacharia254
相关产品推荐
相关产品推荐

