Django登录后跳转home页面失败问题求助
解决Django home页面无法访问的问题
1. 添加home页面的视图函数
在app1/views.py中新增处理home页面的视图——Django的URL必须映射到具体视图函数,不能直接指向整个views模块:
from django.shortcuts import render from django.contrib.auth.decorators import login_required # 若需登录后才能访问,添加该装饰器 # 加@login_required可限制仅登录用户能访问home页面 @login_required def home(request): return render(request, 'app1/home.html')
2. 修正app1/urls.py的配置
把错误的home路径配置,改为指向刚编写的home视图函数:
from django.urls import path from . import views # 精简重复的导入代码,一次import即可 urlpatterns = [ path('', views.index, name='index'), path('login/', views.sign_in, name='login'), path('logout/', views.sign_out, name='logout'), path('home/', views.home, name='home'), # 此处改为views.home ]
3. 确保登录跳转逻辑正确
如果是登录后跳转至home页面,需在登录视图sign_in中,验证成功后使用redirect跳转到name为home的URL:
from django.shortcuts import redirect def sign_in(request): # 你的登录验证逻辑... if 验证成功: return redirect('home') # 使用URL name跳转,比硬编码URL更灵活 # 其他逻辑...
4. 确认模板路径有效性
你已将home.html放在templates/app1/home.html,该路径符合Django模板查找规则(自动检索各app下的templates/app_name/目录),无需额外配置。
完成以上操作后重启Django服务,登录后即可正常访问home页面。
内容的提问来源于stack exchange,提问作者Zollikofen4
相关产品推荐
相关产品推荐

