|
- Django开发操作数据库操作数据库更加简单,其中提供了一个orm框架
安装口令
1、创建数据库创建修改删除库中得表(不用写sql语句)无法创建爱你数据库
2、orm还可以协助我们操作表中你得数据
orm是一个翻译媒介可以协助我们把python代码翻译成sql语句
1.在settings.py文件中得进行配置和修改
mysqll 链接参考
- DATABASES = {
- "default": {
- "ENGINE": "django.db.backends.mysql",
- "NAME": "test",
- "USER": "root",
- "PASSWORD": "12345678",
- "HOST": "127.0.0.1",
- "PORT": "3306",
- }
- }
复制代码
1、创建表 删除表 修改表 都是在models.py文件中进行操作.
写一个创建用户表得类
- class UserInfo(models.Model):
- name = models.CharField(max_length=32)
- password = models.CharField(max_length=64)
- age = models.IntegerField()
复制代码 2.执行这个创建得类
终端跑以下两个命令行就可以创建数据库了
- python manage.py makemigrations
复制代码
增补 其他表得 直接再次执行以上两条命令
添加新得表得时候需要给一个默认值
开发中想对表格调整可以 在models.py里面调整数据库得表
1、操作表中的数据
给创建得表添加数据
- Department1.objects.create(title='销售')
- UserInfo.objects.create(name='谢凡',password='123456',age=18) #给这个类得复制效果
复制代码
2、创建表数据示例
- Department1.objects.create(title='前端',age=18)
- Department1.objects.create(title='后端', age=24)
- Department1.objects.create(title='全栈' )
复制代码 3.删除表数据
- Department1.objects.filter(title='全栈').delete()
- Department1.objects.all().delete()
复制代码
4.获取表中得数据
- # 获取数据 获取得是一个列表 列表中是一行行得数据 类型是querset类型
- data_list = Department1.objects.all()
- # print(data_list)
- for obj in data_list:
- print(obj.id, obj.title, obj.age)#打印每行得数据所有得数据
-
- return HttpResponse('数据库成功')
复制代码
5、修改表中得数据
- # 更新数据
- Department1.objects.filter(title='前端').update(age=13)
- #把标题名称为前端得数据数据年龄改成13
复制代码
1.urls.py
- urlpatterns = [
- # path('admin/', admin.site.urls),
- path('index/',views.index),
- path('user/list/', views.user_list),
- path('user/listadd/', views.user_add),
- path('tpl/', views.tpl),
- path('orm/', views.orm),
- #请求和响应
- path('someting/', views.someting),
- #用户登录
- path('login/',views.login),
- #用户管理
- path('info/list',views.infolist)
- ]
复制代码
2.views.py
- def infolist(requst):
- #1.获取数据库汇总所有得用户信息
- #[对象,对象,对象]
- data_list = UserInfo.objects.all()
- # for obj in data_list:
- # print(obj.id, obj.name, obj.password,obj.age) # 打印每行得数据所有得数据
- return render(requst, 'info.html',{'data_list':data_list})
复制代码 3.info.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>用户信息</title>
- <style>
- td{
- border: 1px red solid;
- padding: 15px;
- padding-top: 5px;
- padding-bottom: 5px;
- }
- </style>
- </head>
- <body>
- <h1>用户列表</h1>
- <hr>
- <table border="1" style="margin: 10px ;margin: auto;">
- <thead>
- <tr>
- <td>id</td>
- <td>姓名</td>
- <td>密码</td>
- <td>年龄</td>
- </tr>
- </thead>
- <tbody>
- {% for obj in data_list %}
- <tr>
- <td>{{ obj.id }}</td>
- <td>{{ obj.name }}</td>
- <td>{{ obj.password }}</td>
- <td>{{ obj.age }}</td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- <hr>
- </body>
- </html>
复制代码
1.添加用python
- def infoAdd(request):
- # data_list = UserInfo.objects.all()
- if request.method == 'GET':
- return render(request, 'infoAdd.html')
- # 用户提交数据
- id = request.POST.get('id')
- name = request.POST.get('name')
- pwd = request.POST.get('pwd')
- age = request.POST.get('age')
- # print(id, name, pwd, age)
- UserInfo.objects.create(id=id, name=name, password=pwd, age=age)
复制代码
2.html
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>添加用户数据</title>
- </head>
- <body>
- <h1>添加用户数据</h1>
- <hr>
- <form method="post" action="/info/add">
- {% csrf_token %}
- <input type="number" name="id" placeholder="用户id">
- <input type="text" name="name" placeholder="用户名字">
- <input type="text" name="pwd" placeholder="用户密码">
- <input type="number" name="age" placeholder="用户年龄">
- <input type="submit" value="提交">
- </form>
- </body>
- </html>
复制代码
- def infoDelete(request):
- nid = request.GET.get('nid')
- #获取url后面得值例如http://127.0.0.1:8000/info/delete?nid=6545
- UserInfo.objects.filter(id=nid).delete()
- # return HttpResponse('删除成功')
- return redirect('/info/list')
复制代码
|
|