1.中间件

  中间件的作用 : 在全局范围内控制django的输入和输出的钩子函数

  中间件中有5种方法:

    process_request : 请求进来时,进行验证

    process_views : 路由匹配成功之后,能够得到视图函数

    process_exception :  处理异常时执行

    process_template_responseprocess : 模板渲染时执行

    process_response : 将处理完的请求发送出去

2.路由系统(url)

  路由中基本上就是正则匹配,

  url(正则表达式, 视图.函数, 别名)

  正则  : r'^xxx/$'

    分组和命名分组:

      分组(), 在视图函数中,传参时接收参数变量名随便起,

      命名分组 (?P<name>) ,传参时,变量名必须为name.

  include 路由分发

  url的命名和反向解析

    {% url '别名'  位置参数  关键字参数 %}

    reverse (别名, args=(a,) , kwargs={ x: xx})

  namespace  如果运用了namespace,在模板渲染时 :

    {% url  namespace: 别名   位置参数  关键字参数 %}

3.视图函数

  写法 :FBV , CBV

  request可以有多少方法(需要至少掌握10中以上)

    GET GET请求 ,

    POST   POST请求,

    FILES  上传文件 ,

    method   判断提交方式,

    body 请求体 ,

    COOKIES  以cookie的形式发送 ,

    SESSION 以session的形式发送  ,

    path_info  获取当前url 不带参数 ,

    get_full_path  获取当前url 带参数 ,

    is_ajax       

    is_ajax()会判断请求头里 'HTTP_X_REQUESTED_WITH'的值。如果请求方式不为ajax,那么请求头里是不含'HTTP_X_REQUESTED_WITH'的。如果是ajax请求,is_ajax()则会返回True.

  response

    Httpresponse  返回字符串

    render   返回一个页面

    redirect(' /index/ ')   重定向

    JsonResponse  以Json的形式返回

4.模板

  {{ 变量 }}   {% 逻辑 %}

5.ORM操作

  13条

    返回queryset对象

      all  获取所有的对象

      filter  筛选出xxx对象

      value 拿到对应的对象

      exclude

      value_list  获取value,以列表的形式返回

      order_by  排序

      reverse  翻转

      distinct   去重

    返回对象的

      get

      first

      last

    布尔值

      exists

    数字

      count

  外键

    多对多

      作者    书籍

      author_obj.books.all()

      author_obj.books.add([1,2])

      author_obj.books.remove(id)

      author_obj.books.set([book_id1,book_id2])

      author_obj.books.clear()

      author_obj.books.create()

    聚合和分组

      aggregate()  聚合查询

      annotate()    分组查询

    F 和 Q查询

      Q(aa_contains='xx') | Q(aa_contains='sss')

      Q(('aa_contains','xx'),)

      filter(aa_lte=F(bb_gt)*3)

6.cookie 和 session

7.ajax

8.form   ModelForm  ModelFormset

关于django的一些基础知识的更多相关文章

  1. WEB框架-Django框架学习-预备知识

    今日份整理,终于开始整个阶段学习的后期了,今日开始学习Django的框架,加油,你是最胖的! 1.web基础知识 1.1 web应用 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是 ...

  2. Python 基础知识(一)

    1.Python简介 1.1.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时 ...

  3. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  4. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  5. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  6. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  7. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  8. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  9. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

随机推荐

  1. linux的查找命令 find whereis locate

    Linux 有三个查找文件的命令:find, whereis, locate 其中find 不常用,whereis与locate经常使用,因为find命令速度较慢,因为whereis与locate是利 ...

  2. nuxtJs中直接使用自带的@nuxtjs/axios

    最初我以为在nuxtjs中是需要重新npm install axios,但是其实nuxtjs自己集成了这个数据渲染方法 你只需在nuxt.config.js中配置一下就可以了 modules: [ / ...

  3. 手把手教你安装mac版hadoop2.7.3教程

    一.准备教程 1.jdk:版本在1.7.x以上就可以(因为hadoop2.x以上只支持1.7.x以上的jdk,我的是1.8的) 2.Hadoop:2.7.3 二.ssh的配置以及验证 配置ssh: 1 ...

  4. 《linux就该这么学》第二节课,安装红帽7,基础命令至2.3小节的笔记

    笔记 实验环境: 1.安装注意事项:使用VM12版本   安装需要稍后安装系统.   自定义硬件DVD选择镜像位置.   自定义网卡仅主机.   自定义内存:大于等于4G,给予虚拟机2G,大于2G小于 ...

  5. Eclipse Error Reporting Welcome to the Eclipse Error Reporting Service.Do you want to help Eclipse? Enable Disable

    在开发的时候,使用Eclipse IDE,提示如下信息, 这是Eclipse的错误报告,如果不想发送,可以关闭掉,关闭方法: 选择Preferences -> General -> Err ...

  6. Python Logging模块 输出日志颜色、过期清理和日志滚动备份

    # coding:utf-8 import logging from logging.handlers import RotatingFileHandler # 按文件大小滚动备份 import co ...

  7. 复习-css列表和表格相关属性

    css列表和表格相关属性 list-style:设置所有列表属性 list-style-image:将图像设置为列表项标记,主要有url值 list-style-position:设置列表项标记的放置 ...

  8. iOS项目之苹果审核被拒

    解读: 3.2 其他业务模式问题下方列表并非详尽清单,并且您提交的 App 可能会导致我们的政策有所更改或更新,但这里有一些额外的应做事宜和勿做事宜需要您谨记在心: 可以接受 (i)在您的 App 中 ...

  9. P4027 [NOI2007]货币兑换(斜率优化dp+cdq分治)

    P4027 [NOI2007]货币兑换 显然,如果某一天要买券,一定是把钱全部花掉.否则不是最优(攒着干啥) 我们设$f[j]$为第$j$天时用户手上最多有多少钱 设$w$为花完钱买到的$B$券数 $ ...

  10. Linux 基础内容

    1.linux版本有:redhat(收费),centos,ubuntu,suse(开发使用) 2./目录下的:etc配置文件目录,media挂载点,opt第三方安装目录,boot启动文件,home家, ...