Django框架下测试(新手自学)
主要是记录Django框架下MVT模式以及mysql数据库的增删改查。
一、首先了解一下流程(感谢老王同鞋的图)

二、查询数据库单条数据,并显示到浏览器上
setting.py文件里的数据库配置就不说
1、项目目录

2、浏览器请求

地址里的test是views里的test函数,通过urls来寻找对应的views
urls.py代码
from django.contrib import admin from django.urls import path from dataSystem import views #+ urlpatterns = [ path('admin/', admin.site.urls), path('index',views.hello), #+ path('test',views.test), ]
3、views.py代码
要引入项目models.py,获取select类-------类相当于数据库里的表,views去models里取数据,取到后传给test.html,test.html文件通过check来显示数据
1 def test(request): 2 #查询单一对象,ID=1的所有数据,返回一个字典 3 check = models.select.objects.filter(id=1).get()
4 return render(request,'test.html',{'check':check})
4、models.py代码
name、age对应数据库里的字段,想要取到对应的数据,通过models.来取,charField相当于varchar。models取到数据后返回给views
class select(models.Model): name = models.CharField(max_length=20) age = models.CharField(max_length=10)
5、template---test.html代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>测试</title> </head> <body> <h1>{{ check.name }}</h1> <h2>{{ check.age }}</h2> </body> </html>
6、浏览器显示结果

7、数据库数据

三、查询列表全部数据
1、views.py代码
主要是 models.select.objects.all() 返回全部数据 ,prompt是传的另一个值,不是必需的,request是必需要传的
def allData(request,prompt): #查询全部数据 list = models.select.objects.all() # print("-------------------------------") # print(list) # print("-------------------------------") return render(request,'test.html',{'list':list,'prompt':prompt})
2、template---test.html
<p id="prompt">{{ prompt|safe }}</p> <table border="1"> <thead> <tr> <td>名字</td> <td>年龄</td> </tr> </thead> {% for a in list %} <tbody> <tr> <td>{{ a.name|safe }}</td> <td>{{ a.age|safe }}</td> </tr> </tbody> {% endfor %} </table>
路漫漫其修远兮、吾将上下而求索

浙公网安备 33010602011771号