复习Django

一、web应用与web框架 

对所有的web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是socket客户端

二、Django的MTV代表        

Model(模型):负责业务对象与数据库的对象

Template(模板):负责如何把页面展示给用户

view(视图):负责页面逻辑,并在适当的时候调用model和template

三、视图函数

视图函数包含两个对象:

    request---请求消息

    HttpResponse---响应字符串

request.method:请求方式:GET或者POST

   请求某个键下多个值,如:checkbox类型的input标签,select标签,需要用:

              request.POST.getlist

request里包含哪些数据:

    request.GET:GET请求的数据()

    request.POST:POST请求的数据()

    request.methed:请求数据方式:GET或者POST

render和redirect的区别:

    render:只是 返回页面内容,但是末发送第二次请求

    redirect:发送第二次请求,URL更新

聚合函数:aggregate

如:

    ret=models.Book.objects.all().aggregate(priceSum=Sum("price"))
    ret=models.Book.objects.all().aggregate(priceAvg=Avg("price"),priceSum=Sum("price"))
    print(ret) # {'price__sum': Decimal('166.00')}

分组函数:annote

    book_list=models.Book.objects.all().annotate(c=Count("authorlist__name"))
       for book_obj in book_list:
            print(book_obj.c)

F、Q查询

  F查询:

如:

 from django.db.models import F
   Book.objects.filter(commnetNum__lt=F('keepNum'))
 Book.objects.all().update(price=F("price")+30) 
Q查询:
filter等方法中的关键字参数查询都是一起进行AND的,如果你需要执行跟复杂的查询,你可以使用Q对象


对象可以调用自己的属性

Django生命周期
wsgi,中间件,路由,视图(数据,模板)





 

posted @ 2018-03-06 21:15  孟庆健  阅读(135)  评论(0编辑  收藏  举报