Django你需要知道的事
MVC
View(视图):是应用程序中处理数据显示的部分。 通常视图是依据模型数据创建的。
Controller(控制器):是应用程序中处理用户交互的部分。 通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MTV
M 带包模型(Model) 负责业务对象和数据库的关系映射(ORM) T 代表模板(Template) 负责如何把页面展示给用户(html) V 代表视图 (View) 负责业务逻辑 并在适当时候调用Model和Template
可迭代
惰性查询
缓存机制
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)
2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 cookie 和session 的联系
session是通过cookie来工作的,可以考虑将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中
便于维护
path("login/",views,login,name = "login")
模板 :{% url "login" 参数 %}
视图 :redirct(reverse(login),args=参数)
book.object.filter(Q(name = ...)|Q(user = ...))
q=Q()
q.chidnen.append(...)
book.objects.filter(q)
content-type是属于内容头部,既然是内容头部,那这个请求头是用来向接收端解释传递的该内容主体的,content-type的取值是告诉服务端,你传递过去的内容是啥,你应该准备好如何接收
Role 角色 ,
Permission 权限,
表关系:
角色和 权限 一对多 和用户一对多
max()
conut()
avg()
$.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会自动帮我们创建第三张表满足不了我们的需求,可用中介模型使用自定义的第三张表 添加字段。
db_constraint = True 方便查询 约束字段
db_constraint = fales 不约束字段 同时也可以查询
用户登陆的时候
注册对象auth.login(request,当前登陆人对象)
if 获取 request.user 是否为空
登陆成功
优点:可用中间件 校验 ,可全局用