上篇的文章登陆成功之后就会返回“login success!”字符串只是一种临时的解决方案,只是为了方便验证登陆的处理逻辑,验证没问题之后,需要通过html页面来替换。
1.想下,登陆成功之后会是什么样?应该是会显示发布会管理页面。故,首先创建../templates/event_manage.html页面。
<!DOCTYPE html>
<html>
<head>
<title>Event Manage Page</title>
</head>
<body>
<h1>Login Success!</h1>
</body>
</html>
2.打开../FirstApp/views.py文件,改内容如下。
from django.shortcuts import render
from django.http import HttpResponse
,HttpResponseRedirect
# 创建自己的视图
def index(request):
return render(request, "index.html")
# 登陆方法
def login_action(request):
if request.method == 'POST':
username = request.POST.get('username', '')
password = request.POST.get('password', '')
if username == 'admin' and password == 'admin123':
return HttpResponseRedirect('/event_manage/')
pass
else:
return render(request, 'index.html', {'error':'username or password error!!!'})
pass
pass
# 发布会管理
def event_manage(request):
return render(request, "event_manage.html")
此处又用到了一个新的类HttpResponseRedirect,它可以对路径进行重定向,从而将登陆成功之后的请求指向/event_manage/目录,即http://127.0.0.1:8000/event_manage/。创建event_manage函数,用于返回发布会管理页面event_manage.html。
3.最后,不要忘记在../FirstProject/urls.py文件中添加event_manage/的路由。
from django.conf.urls import url
from django.contrib import admin
from FirstApp import views
urlpatterns = [
url(r'^$', views.index),
url(r'^admin/', admin.site.urls),
url(r'^index/$', views.index),
url(r'^login_action/$', views.login_action),
url(r'^event_manage/$', views.event_manage),
]
4.查看登陆成功之后的运行结果。