django的运行流程
浏览器访问===》找到框架下的urls,根据浏览器访问路径===》在views找到具体执行的方法====》返回一个页面及渲染的参数
===》浏览器接收到html后进行渲染展示
第一步:
通过流量器访问本地的/form路径下的资源
第二步:
找到项目下的urls,根据urls中的映射找到form方法
第三步:
根据app下的views模块,找到form方法,执行此方法后返回一个页面路径
return render(request,"form.html",{"result_list": result_list})
备注:为什么直接写form.html就能找到此页面呢,因为在设置里框架已经定义了寻访路径
第四步:
浏览器收到此html,进行渲染展示
下面是代码
urls部门的代码:
urlpatterns = [ path('admin/', admin.site.urls), path(r'getuser/', g.getuser), path(r'form/', g.form), ]
views部分的代码
from django.shortcuts import render from django.http import HttpResponse # Create your views here. import datetime from mysit import models def getuser(req): # return HttpResponse("<h1> hello world! </h1>") date = datetime.datetime.now() print(date) return render(req,"get_current_time.html",{"current_time":date}) # result_list=[] def form(request): if request.method == "POST": username = request.POST.get("username",None) password = request.POST.get("password",None) email = request.POST.get("email",None) # result_dic={"username":username,"password":password,"email":email} # result_list.append(result_dic) # 将数据存入数据库中 models.userInfo.objects.create( userName=username, passWord=password, eMail=email, ) # 从数据库中获取数据 result_set = models.userInfo.objects.all() result_list=[] for i in result_set: dic={"username":i.userName,"password":i.passWord,"email":i.eMail} result_list.append(dic) return render(request,"form.html",{"result_list": result_list})
models部分的代码:
class userInfo(models.Model): userName = models.CharField(max_length=64) passWord = models.CharField(max_length=64) eMail = models.CharField(max_length=64)