Django你须要知道的事

MTV模型与MVC模型

MVChtml

Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。     一般模型对象负责在数据库中存取数据。ajax

View(视图):是应用程序中处理数据显示的部分。     一般视图是依据模型数据建立的。数据库

Controller(控制器):是应用程序中处理用户交互的部分。     一般控制器负责从视图读取数据,控制用户输入,并向模型发送数据。json

MTV浏览器

M 带包模型(Model) 负责业务对象和数据库的关系映射(ORM) T 表明模板(Template) 负责如何把页面展现给用户(html) V 表明视图 (View) 负责业务逻辑 并在适当时候调用Model和Template缓存

queryset数据类型的特性

 

能够切片使用(不支持负的索引)安全

可迭代服务器

惰性查询cookie

缓存机制session

queryset数据类型的方法

 

create()

p = Person(name="WZ", age=23)

p.save()

.all()

get()

exclude()

valeslist()

orderby()

级联删除不等于同时删除

 

级联删除表示主表记录删除,对应表记录 一样删除

一对多 , 一对一 时候用,

user = models.ForeignKey(User, blank=True, null=True, on_delete=models.CASCADE)

cookie与session的运行机制

 

1.cookie数据存放在客户的浏览器上,session数据放在服务器上

2.cookie不是很安全,别人能够分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。

三、session会在必定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE

四、单个cookie保存的数据不能超过4K,不少浏览器都限制一个站点最多保存20个cookie。 cookie 和session 的联系

session是经过cookie来工做的,能够考虑将登录信息等重要信息存放为session,其余信息若是须要保留,能够放在cookie中

 

反向解析

做用:防止硬编码,便于维护

path("login/",views,login,name = "login")

模板 :{% url "login"  参数 %}
视图 :redirct(reverse(login),args=参数)

Q查询的两种使用方式

book.object.filter(Q(name = ...)|Q(user = ...))
q=Q()
q.chidnen.append(...)
book.objects.filter(q)

请求头contentType的做用

 

content-type请求头是干嘛的呢,http请求头有四种类型,分别是通用头部,请求头部,响应头部以及内容头部,首先,咱们要弄清楚,

content-type是属于内容头部,既然是内容头部,那这个请求头是用来向接收端解释传递的该内容主体的,content-type的取值是告诉服务端,你传递过去的内容是啥,你应该准备好如何接收

 

Django请求生命周期

rbac表结构

 

User 用户,

Role 角色 ,

Permission 权限,

表关系:

角色和 权限 一对多 和用户一对多

crm的查询语法

 

min()

max()

conut()

avg()

向服务器发送一个json数据

 
$.ajax({
        url:'${pageContext.request.contextPath }/rest/jsonBody',
        type:'POST',
        dataType:'json',
        contentType:'application/json;charset=UTF-8',
        data:JSON.stringify(data),
        success:function(data, status){
            console.log(data);
        }
    });
 

中介模型

 

 

多对多字段 建立的时候 Djiango会自动帮咱们建立第三张表知足不了咱们的需求,可用中介模型使用自定义的第三张表 添加字段。

 

 

ForeignKey中的db_constraint参数

 

db_constraint 惟一约束

 
 

db_constraint = True 方便查询 约束字段

 
 

db_constraint = fales 不约束字段 同时也能够查询

 

用户认证组件

 

用户登录的时候

注册对象auth.login(request,当前登录人对象)

if 获取 request.user 是否为空

登录成功

优势:可用中间件 校验 ,可全局用

相关文章
相关标签/搜索