Django
v馒头
这个作者很懒,什么都没留下…
展开
-
Django模板
渲染模板渲染模板有多种方式,通常使用下面两种:render_to_string: 找到模板,然后将末班编译后渲染成python字符串格式,最后再通过HttpResponse类包装成一个HttpResponse对象返回回去。实例代码如下:from django.http import HttpResponsefrom django.template.loader import render_to_stringdef index(request): html = render_to原创 2020-06-19 13:42:52 · 150 阅读 · 0 评论 -
Django高级视图
Django限制请求method限制请求装饰器django.views.decorators.http import require_http_methods:这个装饰器需要传递一个允许访问的方法的列表。比如只能通过GET的方式访问,那么示例代码:from django.views.decorators.http import require_http_methods@require_http_methodsdef my_view(request): passdjango.vi原创 2020-06-19 13:41:16 · 218 阅读 · 0 评论 -
Django表单
表单HTML中的表单单纯从前端的html来说,表单是用来提交数据给服务器的,不管后台的服务器用的是Django还是PHP语言还是其他语言。只要把input标签放在form标签中,然后再添加一个提交按钮,那么以后点击提交按钮,就可以将input标签中对应的值提交给服务器了。django中的表单Django中的表单丰富了传统的HTML语言中的表单。在Django中的表单,主要做以下两件事:渲染表单模板。表单验证数据是否合法。Django中使用表单的流程在讲解Django表单的具体每部分的细原创 2020-06-19 13:39:44 · 242 阅读 · 0 评论 -
Django中间件
django中的中间件是什么?是一个python类,用来在全局范围内处理process_request执行时间:在视图函数执行前执行参数:request --》视图函数中用的的request执行顺序:按照注册顺序的顺序执行返回值:None:正常流程走HttpRespouse对象:当前中间件后面的中间件的process_request和process_response方法和视图函数都不执行,执行当前中间件的process_response方法以及之前的中间件的process_resp原创 2020-06-19 13:38:48 · 135 阅读 · 0 评论 -
DRF视图集
1.3 视图集ViewSet视图集路由simpleRouterDefaultRouter# 路由类默认只会给视图集中的api生成地址[增删改查一和查多]from rest_framework.routers import DefaultRouterrouter = DefaultRouter()# router.register("访问地址","视图集类","访问别名")# 把路由列表注册到Django项目中urlpatterns +=router.urlsactionfrom原创 2020-06-19 11:54:44 · 129 阅读 · 0 评论 -
DRF视图
视图基类1.1 APIViewfrom rest_framework.views import APIView1.2 GenericAPIView[通用视图类]from rest_framework.generics import GenericAPIView继承自APIView,主要增加了操作序列化器和数据库操作的方法,作用为下面的Mixin拓展类的执行提供方法和支持,可以搭配一个或多个Mixin拓展类。class ProductsGenericeView(GenericAPIView):原创 2020-06-19 11:53:32 · 146 阅读 · 0 评论 -
Django 序列化器
序列化器-Serializer作用:1. 序列化,序列化器会把模型对象转成字典,经过response以后变成json字符串2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型3. 反序列化,完成数据校验功能Serializer序列化# 声明序列化器from rest_framwork import serializer# 所有的自定义序列化器必须直接或间接继承于 serializers.serializer"""在drf中,对于客户端提交的原创 2020-06-19 11:51:21 · 191 阅读 · 0 评论 -
06.Django迁移模型
根据已有的表自动生成模型python manage.py inspectdb # 就会将表转换为模型后的代码显示在终端# 如果想把上面代码保存到文件中,那么可以使用 > 重定向输出到指定的文件。比如让他输出到`models.py`文件中python manage.py inspectdb > models.py# 如果只想转换某一张表为模型,那么可以指定表的名字 ...原创 2019-12-13 17:19:51 · 84 阅读 · 0 评论 -
05.Django ORM聚合查询
聚合函数所有的聚合函数都是放在django.db.models下面。聚合函数不能单独的执行,需要放在一些可以执行聚合函数的方法下面中去执行。比如aggregate。示例代码如下:result = Book.objects.aggregate(Avg('price'))# 返回{'price__avg': 97.25}# 其中price__avg的结构是根据field__avg规则构成...原创 2019-12-13 15:55:09 · 152 阅读 · 0 评论 -
04.Django ORM条件查询
查询操作在ORM层面,查询条件都使用field+__+condition的方式来使用。查询条件exact:精确的提供条件,在底层会被翻译成=iexact在底层会被翻译成LIKEin:可以直接指定指定某个字段的是否在某个集合中。示例代码如下:def index1(request): # 查找文章表中id为1,2,3的文章 article = Articl...原创 2019-12-13 15:53:35 · 572 阅读 · 0 评论 -
03.Django ORM查询操作
常用<1> all(): 查询所有结果<2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象<3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。<4> exclude(*...原创 2019-12-13 15:51:23 · 91 阅读 · 0 评论 -
02. Django配置数据库
Django配置数据库DATABASES = { 'default': { # 数据库引擎(sqlite3,mysql,oracle等) 'ENGINE': 'django.db.backends.mysql', # 数据库的名字 'NAME': 'django_db1', # 连接数据库的用户名 ...原创 2019-12-13 15:59:19 · 249 阅读 · 0 评论 -
01.Django入门
创建一个Django项目djanggo-admin startproject <项目名>启动项目python manage.py runserver创建一个apppython manage.py startapp <app名>改变端口号1.终端:执行命令改变端口号:python manage.py runserver 端口号2.在pycharm中:右上角–...原创 2019-12-13 15:19:41 · 77 阅读 · 0 评论 -
Django rest framework 改变序列化返回的数据
在使用Django rest framework的serializer时遇到一个问题:数据库里存的是时间戳,但是前端想要直接处理好的日期格式("%Y-%m-%d %H:%M:%S")。class ProductsSerializer(serializers.ModelSerializer): # 项目数据序列化器 class Meta: model = P...原创 2019-11-18 20:40:05 · 1939 阅读 · 1 评论 -
celery配合redis运行报错
在使用redis做celery队列的时候,跑任务的过程中报错如下:![在这里插入图片描述](https://img-blog.csdnimg.cn/20191108144153564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxX...原创 2019-11-08 14:44:22 · 522 阅读 · 2 评论 -
自定义Django_rest_framework_jwt登陆错误返回
在使用Django做前端后端项目时,登陆认证方法往往使用的是jwt_token,但是想自定义登陆成功和失败的返回体。1.当用户名和密码正确就会生成token,返回response是调用的是JWT_RESPONSE_PAYLOAD_HANDLER,如果想自定义返回体就需要重写jwt_response_payload_handler函数。在项目目录下settings.py中,添加JWT_RESP...原创 2019-09-05 15:08:16 · 3281 阅读 · 8 评论 -
Django解决跨域问题
@@Django解决跨域问题在Django中遇到了跨域问题该如何处理第一步安装django-cors-headers, 官方文档 pip install django-cors-headers第二步配置settings.py文件,在INSTALLED_APPS添加配置INSTALLED_APPS = [ ... 'corsheaders', ....原创 2019-08-07 11:32:38 · 496 阅读 · 1 评论 -
Django中操作cookie和session
在Django中操作cookie和session1.操作cookie1.1 设置cookie设置cookie是设置值给浏览器的。因此我们需要通过response的对象来设置,设置cookie可以通过response.set_cookie来设置,这个方法的相关线束如下:key:这个cookie的keyvalue: 这个cookie的valuemax_age: 最长的生命周期。单位是秒...原创 2019-08-08 18:03:38 · 239 阅读 · 0 评论