目录
参考官方文件信息
链接地址:https://docs.djangoproject.com
目的: 返回静态HTML文件也页面
1.准备前端文件
1.准备前端html文件(将html文件放入templates 目录中)
1.1. 就是在Django工程下的创建 templates 目录,
1.2. 创建一个 index.html 和 login.html 文件,写入HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>首页</title> </head> <body> <h1 style="background-color: #F1F1F1; text-align: center; padding: 20px;"> 我的首页 </h1> <form action="http://127.0.0.1:8000/users/login/" method="post" style="text-align:center"> 用户名:<input type="text" name="username" id=""><hr> 密码:<input type="text" name="password" id=""> <input type="submit" value="提交"> </form> </body> </html><!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>登陆成功</title> </head> <body> <h1>登录成功</h1> <h2>转到<span><a href="http://127.0.0.1:8000/users/center/">转到个人中心</a></span></h2> </body> </html>
2. 实现流程
2.1. 项目的配置(settings.py中)
# HTML文件配置信息 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS':[os.path.join(BASE_DIR, 'templates')], # html文件路径 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]2.2. 视图views.py
from django.shortcuts import render, redirect from django import http from django.views import View class LoginView(View): """ 登录成功界面 http://127.0.0.1/users/login/ """ def post(self, request): """ :param request: :return: """ # 1.接收参数 username = request.POST.get("username") password = request.POST.get("password") print(f"username:{username},password:{password}") # 2.校验参数 全体校验all()方法 if not all([username, password]): return http.HttpResponse("缺少必要参数") # 3. 验证密码 if password != "123456": return http.HttpResponse("账户或者密码错误!!!") # 4. 设置状态保持,使用cookie 实现 # render() 数据渲染HTML页面 Response = render(request, 'login.html') Response.set_cookie("username", username, max_age=120) Response.set_cookie("user_id", 1, max_age=120) # 5. 返回响应数据 return Response class CenterView(View): """个人中心数据""" def get(self, request): """ 个人中心数据请求路径: http://127.0.0.1:8000/users/center/ :param request: :return: """ # 1. 获取cookie数据 username = request.COOKIES.get("username") user_id = request.COOKIES.get("user_id") return http.HttpResponse(f"username:{username},user_id:{user_id}")2.3. 子路由中: urls.py
from django.contrib import admin from django.urls import path from . import views urlpatterns = [ # 登录成功界面路由: http://127.0.0.1:8000/users/login/ path("login/",views.LoginView.as_view()), # 个人中心数据请求路径:http://127.0.0.1:8000/users/center/ path("center/",views.CenterView.as_view()), ]
3. 测试结果:
>> 首页(index.html)
>> 登录成功界面(login.html)


949

被折叠的 条评论
为什么被折叠?



