码迷,mamicode.com
首页 > 编程语言 > 详细

Django之ORM使用以及模板语言

时间:2018-09-27 22:56:11      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:device   9.png   title   color   col   pac   cut   ble   none   

一、ORM版增删改查

  1、ORM的语句

    1、类名.objects.all()          --> 返回一个列表

    2、类名.objects.filter()       --> 返回一个列表

    3、类名.objects.get()         --> 返回一个对象

    4、类名.objects.create(name=‘‘)    --> 创建一个对象,返回的就是刚创建的对象

    5、类名.objects.filter(id=‘‘).delete()   --> 删除

    6、obj = 类名.objects.get(id=‘‘)   

      obj.name = ‘新值‘                    --> 修改对象的属性

      obj.save()                                   --> 把修改后的值同步到数据库

  2、Django模板语言

    1、for循环

      {{% for i in ret %}}

        {{ i }}

        {{ forloop.counter }}            --> for 循环从1开始计数

        {{ forloop.counter0 }}       --> for 循环从0开始计数

      {{% endfor %}}

技术分享图片

技术分享图片

技术分享图片

技术分享图片
 1 from django.shortcuts import render,redirect
 2 from app01.models import Press
 3 
 4 # Create your views here.
 5 
 6 
 7 # 出版社列表函数
 8 def press_list(request):
 9     # 获取出版社数据库中的所有数据
10     ret = Press.objects.all()
11     # 用html展示出版社列表
12     return render(request,press_list.html,{ret:ret})
13 
14 
15 # 添加出版社函数
16 def add_press(request):
17     # 判断是不是POST请求方法(form表单中)
18     if request.method == POST:
19         # 获取要添加的名字
20         new_name = request.POST.get(name)
21         # 在数据库中创建新的出版社
22         Press.objects.create(name=new_name)
23         # 跳转到出版社列表页面
24         return redirect(/press_list/)
25     # 跳转到添加页面
26     return render(request,add_press.html)
27 
28 
29 # 删除出版社函数
30 def delete_press(request):
31     # 获取要删除出版社的ID
32     delete_id = request.GET.get(id)
33     # 根据获取的ID来删除数据库中对应的出版社
34     Press.objects.get(id=delete_id).delete()
35     # 跳转到出版社列表
36     return redirect(/press_list/)
37 
38 
39 # 编辑出版社函数
40 def edit_press(request):
41     # 获取要编辑的ID
42     edit_id = request.GET.get(id)
43     # 通过ID来获取对象
44     press_obj = Press.objects.get(id=edit_id)
45     # 判断是不是POST请求(form表单中)
46     if request.method == POST:
47         # 获取修改以后的name
48         edit_name = request.POST.get(name)
49         # 重新给name赋值
50         press_obj.name = edit_name
51         # 把修改以后的name更新到数据库
52         press_obj.save()
53         # 跳转到出版社列表
54         return redirect(/press_list/)
55     # 跳转到编辑页面
56     return render(request,edit_press.html,{press_obj: press_obj})
views.py中所写的内容

技术分享图片

技术分享图片
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1">
 6     <title>出版社页面</title>
 7     <link rel="stylesheet" href="/static/bootstrap-3.3.7/css/bootstrap.css">
 8     <link rel="stylesheet" href="/static/font-awesome-4.7.0/css/font-awesome.css">
 9     <link rel="stylesheet" href="/static/bootstrap-sweetalert-master/dist/sweetalert.css">
10     <script src="/static/bootstrap-sweetalert-master/dist/sweetalert.js"></script>
11     <script src="/static/jquery-3.3.1.min.js"></script>
12     <script src="/static/bootstrap-3.3.7/js/bootstrap.js"></script>
13     <style>
14         table {
15 
16             border-spacing: 2px;
17             border-collapse: unset;
18         }
19         body{
20             font-size: 16px;
21         }
22     </style>
23 </head>
24 <body>
25 <table border="1">
26     <thead>
27     <tr>
28         <th>序号</th>
29         <th>id</th>
30         <th>name</th>
31         <th>操作</th>
32     </tr>
33     </thead>
34     <tbody>
35     {% for foo in ret %}
36         <tr>
37             <td>{{ forloop.counter }}</td>
38             <td>{{ foo.id }}</td>
39             <td>{{ foo.name }}</td>
40             <td>
41                 <a href="/edit_press/?id={{ foo.id }}">编辑</a>
42                 <a href="/delete_press/?id={{ foo.id }}">删除</a>
43             </td>
44         </tr>
45     {% endfor %}
46     </tbody>
47 </table>
48 <button class="btn-success btn"><a href="/add_press/" style="text-decoration: none;color: blue;">添加出版社</a></button>
49 </body>
50 </html>
press_list.html文件

技术分享图片

技术分享图片

 

Django之ORM使用以及模板语言

标签:device   9.png   title   color   col   pac   cut   ble   none   

原文地址:https://www.cnblogs.com/wjs521/p/9716059.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!