前面写到如果输入正确,跳转到百度
但我们希望输入正确之后跳转到自己的网页:
views.py:
from django.shortcuts import render from django.shortcuts import redirect def login(request): error_msg = "" if request.method == "POST": user = request.POST.get("user", None) pwd = request.POST.get("pwd", None) if user == "yiqing" and pwd == "handsome": return redirect("/home") else: error_msg = "用户名或密码错误" return render(request, "login.html", {"error_msg": error_msg}) def home(request): return render(request, "home.html")新写的home.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body style="margin: 0"> <div style="height: 48px; background-color: blue"></div> <div> <table> <tr> <td>亦轻</td> <td>男</td> <td>6666@163.com</td> </tr> <tr> <td>小广</td> <td>女</td> <td>66666@163.com</td> </tr> </table> </div> </body> </html>urls.py也修改下:
from django.contrib import admin from django.urls import path from cmdb.views import * urlpatterns = [ path('admin/', admin.site.urls), path('login/', login), path('home/', home), ]这次如果输入用户名和密码正确,则跳转到:
django还有一种特殊的操作:
views.py:
from django.shortcuts import render from django.shortcuts import redirect def login(request): error_msg = "" if request.method == "POST": user = request.POST.get("user", None) pwd = request.POST.get("pwd", None) if user == "yiqing" and pwd == "handsome": return redirect("/home") else: error_msg = "用户名或密码错误" return render(request, "login.html", {"error_msg": error_msg}) USER_LIST = [ {"username": "yiqing", "email": "66666@126.com", "gender": "男"} ] for index in range(20): temp = {"username": "yiqing"+str(index), "email": "66666@126.com", "gender": "男"} USER_LIST.append(temp) def home(request): return render(request, "home.html", {"user_list": USER_LIST})
home.html可以加入些代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body style="margin: 0"> <div style="height: 48px; background-color: blue"></div> <div> <table> {% for row in user_list%} <tr> <td>{{ row.username }}</td> <td>{{ row.gender }}</td> <td>{{ row.email }}</td> </tr> {% endfor %} </table> </div> </body> </html>
然后访问home:
接下来想在网页中修改这些数据:
views.py修改:
from django.shortcuts import render from django.shortcuts import redirect def login(request): error_msg = "" if request.method == "POST": user = request.POST.get("user", None) pwd = request.POST.get("pwd", None) if user == "yiqing" and pwd == "handsome": return redirect("/home") else: error_msg = "用户名或密码错误" return render(request, "login.html", {"error_msg": error_msg}) USER_LIST = [ {"username": "yiqing", "email": "66666@126.com", "gender": "男"} ] def home(request): if request.method == "POST": u = request.POST.get("username") e = request.POST.get("email") g = request.POST.get("gender") temp = {"username": u, "email": e, "gender": g} USER_LIST.append(temp) return render(request, "home.html", {"user_list": USER_LIST})
home.html也要做出相应的修改:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body style="margin: 0"> <div style="height: 48px; background-color: blue"></div> <div> <form action="/home/" method="post"> <input type="text" name="username" placeholder="用户名"/> <input type="text" name="email" placeholder="邮箱"/> <input type="text" name="gender" placeholder="性别"/> <input type="submit" value="添加"/> </form> </div> <div> <table> {% for row in user_list%} <tr> <td>{{ row.username }}</td> <td>{{ row.gender }}</td> <td>{{ row.email }}</td> </tr> {% endfor %} </table> </div> </body> </html>
这时候运行:
可是,当我们重新运行的时候,这些数据又消实了,
如果想保存下来,就要加入数据库了。