目录结构如下, 主要修改三个文件URL.py、views.py、index.html:
views.py:
from django.shortcuts import render,HttpResponse def userInfo(request): userList = [] #获取前端传递过来的值 if request.method=="POST": username=request.POST.get("username",None) sex=request.POST.get("sex", None) mail=request.POST.get("email", None) print(username) print(sex) print(mail) #user={"username":username,"sex":sex,"email":mail} # userList.append(user) models.UserInfo.objects.create( username=username, sex=sex, email=mail ) userList=models.UserInfo.objects.all() return render(request, "index.html",{"user_list":userList})
URL.py:
from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), #添加了下边这一行,功能是重定向userInfo/的请求 path('userInfo/',views.userInfo), ]
index.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="/userInfo/" method="post"> <p>姓名:<input type="text" name="username"></p> <p>性别:<input type="text" name="sex"></p> <p>邮箱:<input type="text" name="email"></p>. <p><input type="submit" value="submit"></p> </form> <hr> <h1>用户:</h1> <table border="1px"> <tr> <td>姓名</td> <td>性别</td> <td>邮箱</td> </tr> <!--模板语言的循环遍历--> {% for i in user_list %} <tr> <td>{{i.username}}</td> <td>{{ i.sex }}</td> <td>{{i.email }}</td> </tr> {% endfor %} </table> </body> </html>
如果提示一个403 的错误,是Django 的一个安全机制,可以注释掉settings.py 的一行代码(MIDDLEWARE 下的
'django.middleware.csrf.CsrfViewMiddleware'
):
结果: