django
可可可可可达鸭
加油,一起编程
展开
-
django生成静态页面
这个写的太好了原创 2021-04-06 20:11:42 · 251 阅读 · 0 评论 -
django事务个人理解
一、首先,导入事务from django.db import transaction二、开启事务:两种方式:一、装饰器@transaction.atomic()二、在方法内通过with开启事务。with transaction.atomic():三、 开启事务后,要在事务内部第一行写上保存点。save_point = transaction.savepoint()四、如果出错,进行事务回滚,将代码回滚到保存点时候的代码状态,继续执行回滚操作后边代码。transaction.savepo原创 2021-04-06 19:51:03 · 155 阅读 · 0 评论 -
对GenericAPIview即其方法的一些理解
如果要用这个模型类,你要知道一个概念。查询结果集是会被缓存的,相当于,当我们执行模型类.objects.all()后,数据会放到缓存中。当我们的类视图继承了GenericAPIview,必须在定义的方法前,指定查询结果集和所要使用的序列化器。from book_drf.serializer import BookSerializerfrom rest_framework.response import Responsefrom books import models# Create your v原创 2021-03-18 17:21:25 · 621 阅读 · 0 评论 -
对前后端分离与不分离的一些小看法
在学习django框架时,学习到了前后端分离与不分离,有点想法,记录一下。首先,我们要知道。这两个的区别在哪。我们在以前,做django框架项目时,如果浏览器向你发送了一个请求,请求获得一个页面,一般来说,都是将请求传递给django服务器,再在服务器里面进行模板渲染,渲染完后,将渲染好的模板也就是前端页面给到浏览器,让浏览器进行渲染,但是,这样导致的后果,就是后端开发人员不仅要干后端的活,前端的也要干,因为模板语言啥的,这样的话,代码量太重了。那么,这就诞生了一种新的开发模式,前后端分离,我们将ht原创 2021-03-15 10:01:39 · 422 阅读 · 1 评论 -
对LoginRequiredMixin进行重写
首先我们要知道继承自LoginRequiredMixin的视图类会怎样走,未登录,会执行 handle_no_permission函数,登陆了,就直接继续执行函数下边的代码,如:class UserCenterInfoView(LoginRequiredMixin, View): def get(self,request): return render(request, "user_center_info.html")未登录,执行handle_no_perm原创 2021-03-02 20:34:11 · 418 阅读 · 5 评论 -
django中的LoginRequiredMixin
首先,我们要明确我们为什么要用这个东西。我们一般判断用户是否登录时,使用的是request.user.is_authenticate(),但是这个太单一了。只会给你一个true或者false。比如:class UserCenterInfoView(View): def get(self,request): if request.user.is_authenticated(): return render(request,"user_center_info原创 2020-12-23 16:44:07 · 1138 阅读 · 0 评论 -
Django框架中的 request.user的通俗解释
我今天看这个东西,感觉很难理解,凭什么在我调用request.user他就知道是哪个对象呢。刚开始我怀疑是login的问题。login(),该函数接受一个 HttpRequest 对象和一个 User 对象作为参数并使用Django的会话( session )框架把用户的ID保存在该会话中。当我把这个东西注释后,发现自己居然还能找到对象,这就有点恐怖了,难道不是因为他????好吧,我是傻子,浏览器里面cookie中存储的sessionid并没有删掉,这不删除login有没有都没有影响啊。于是再把他删除原创 2020-12-22 20:16:12 · 6346 阅读 · 5 评论 -
对authenticate方法的理解以及重写
这个东西是用来判断用户是否存在所用的函数,一般来说,我们是这样导入的:from django.contrib.auth import login, authenticate, logout但是,当我们看源码的时候,我们就能发现,他在这个里面又调用了authenticate,这个authenticate从哪来?位置就是下边图片所示。代码如下:def authenticate(self, request, username=None, password=None, **kwargs):原创 2020-12-21 20:48:39 · 2780 阅读 · 2 评论