![](https://img-blog.csdnimg.cn/20190920135215845.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Django
文章平均质量分 52
Django是一个开放源代码的Web应用框架,由Python写成。
Ch3nnn
这个作者很懒,什么都没留下…
展开
-
个人博客 Django RSS 功能
RSS Feed Reader什么是 RSS?RSS 指 Really Simple Syndication(真正简易联合) RSS 使您有能力聚合(syndicate)网站的内容 RSS 定义了非常简单的方法来共享和查看标题和内容 RSS 文件可被自动更新 RSS 允许为不同的网站进行视图的个性化 RSS 使用 XML 编写为什么使用 RSS?RSS 被设计用来展示选定的数据。如果没有 RSS,用户就不得不每日都来您的网站检查新的内容。对许多用户来说这样太费时了。通过 RSS fe原创 2022-01-26 11:04:44 · 255 阅读 · 0 评论 -
实现 Python 动态配置管理 -- Dynaconf
Dynaconf 是一个Python的第三方模块,旨在成为在 Python 中管理配置的最佳选择。它可以从各种来源读取设置,包括环境变量、文件、服务器配置等。它适用于任何类型的 Python 程序,包括 Flask 和 Django 扩展。1.准备请选择以下任一种方式输入命令安装依赖:1. Windows 环境 打开 Cmd (开始-运行-CMD)。2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。3. 如果你用的是 VSCode编...原创 2021-12-10 09:35:18 · 1094 阅读 · 0 评论 -
Django评论树的实现
实现django评论树使用了三种方式第一种方式通过递归实现缺点:每次查找parent_id的时候都要在ret所有的元素里面找一遍,找不到再在元素的children中寻找,一直找到为止comment_list = [ {'id': 1, 'content': 'Python最牛逼', 'user': '小李', 'parent_id': None}, {'id': 2, 'content': 'Java最牛逼', 'user': '小李', 'parent_id': No原创 2021-09-13 17:42:36 · 308 阅读 · 0 评论 -
Viewsets、Generic、Mimix解析
ViewsetsViewSets本质上只是一种基于类的视图,它不提供任何方法处理程序,比如“get()”、“post()”等等。相反,它有一些动作,比如“list()”、“retrieve()”(检索)、“create()”等等。动作只在实例化视图的时候绑定到方法。user_list = UserViewSet.as_view({'get': 'list'})user_detail = UserViewSet.as_view({'get': 'retrieve'})通常,您不会.原创 2021-04-07 18:09:06 · 335 阅读 · 0 评论 -
supervisor 进程管理工具 celery启动不了服务
supervisor 默认是使用root用户启动项目, 默认情况下,Celery不会以超级用户身份运行工人。解决方法: 手动指定项目用户启动 不是root用户以下是celery 官方配置; ================================; celery beat supervisor example; ================================[program:celerybeat]; Set full path to celery ..原创 2021-04-03 20:26:36 · 512 阅读 · 1 评论 -
Django 数据库迁移数据 dumpdata loaddata 命令
django dumpdataDjango dumpdata 是 django 自带的管理命令,可以用来备份你的模型实例和数据库## dumpdata # 整个 django 使用到的数据库转存到 db.json 文件中(备份整个数据库)python manage.py dumpdata > db.json# 将 admin app 转存到 admin.json 中(备份特定的 app)python manage.py dumpdata admin > admin.jso原创 2021-03-31 20:51:38 · 2962 阅读 · 0 评论 -
Djangorestframework--自定义Serializer序列化字段 动态改变响应数据
遇到这么个场景,一个model模型,在某个场景访问id、name这三个字段,另一个场景访问name、age字段,那是不是需要创建两个Serializer ,如果更多需求,那会显得很笨拙,这时候如果Serializer的field字段在外部可以传进去,那岂不是很符合需求serializers.pyclass DynamicFieldsModelSerializer(serializers.ModelSerializer): """ 支持动态指定字段的序列化器,传参field...原创 2021-01-26 18:33:27 · 976 阅读 · 0 评论 -
Java解密Django PasswordHasher
package cn.ch3nnn.utils;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.PBEKeySpec;import java.nio.charset.Charset;import java.security.NoSuchAlgorithmException;import java.security.spec.InvalidKeySpecEx.原创 2021-01-25 17:39:34 · 407 阅读 · 1 评论 -
Django gRPC 应用
官方文档:https://djangogrpcframework.readthedocs.io/en/latest/index.html项目设置创建一个名为的新Django项目quickstart,然后启动一个名为的新应用account:# Create a virtual environmentpython3 -m venv envsource env/bin/activate# Install Django and Django gRPC frameworkpip ins...原创 2021-01-22 19:00:14 · 1956 阅读 · 1 评论 -
Django Elasticsearch DSL
Django Elasticsearch DSL是一个软件包,允许在elasticsearch中索引Django模型。它是作为Elasticsearch-dsl-py的薄包装而构建的,因此您可以使用elasticsearch-dsl-py团队开发的所有功能。功能 基于elasticsearch-dsl-py,因此您可以使用Search类进行查询。 Django信号接收器处于保存和删除状态,以保持Elasticsearch同步。 用于创建,删除,重建和填充索引的管理命令。..原创 2021-01-15 10:24:06 · 1335 阅读 · 0 评论 -
DRF的APIView、GenericAPIView、GenericViewSet的原理分析
一、层次结构GenericViewSet(ViewSetMixin, generics.GenericAPIView) ---DRF GenericAPIView(views.APIView) ---DRF APIView(View) ---DRF View原创 2020-12-16 10:56:49 · 796 阅读 · 0 评论 -
Serializers,ModelSerializers自定义字段的扩展操作SerializerMethodField 搜索 分页
view.pyclass LargeResultsSetPagination(PageNumberPagination): """自定义分页""" page_size = 25 page_size_query_param = 'page_size' max_page_size = 25# 测评-组卷工具-搜索题目class SearchQuestions(generics.ListAPIView): from rest_framework import.原创 2020-11-25 21:05:14 · 887 阅读 · 0 评论 -
Django DRF ListSerializer使用
ListSerializer类 文档注解class TrackListSerializer(serializers.ListSerializer): def create(self, validated_data): #validated_data会返回所有请求数组,而不是单个对象 print(validated_data) books = [Track(**item) for item in validated_data] ret.原创 2020-10-27 14:26:14 · 2759 阅读 · 0 评论 -
Django REST framework 中文文档
Django REST framework介绍现在前后端分离的架构设计越来越流行,业界甚至出现了API优先的趋势。显然API开发已经成为后端程序员的必备技能了,那作为Python程序员特别是把Django作为自己主要的开发框架的程序员,我十分推荐Django REST framework(DRF)这个API框架。Django REST framework(DRF)框架文档齐全,社区较稳定,而且由于它是基于Django这个十分全面的框架而设计开发的,能够让开发者根据自己的业务需要,使用极少的.原创 2020-10-26 10:51:06 · 5202 阅读 · 0 评论 -
Django分页器(paginator)组件
from django.core.paginator import Paginatorpaginator = Paginator(book_list,3) # 先拿到分页器对象,第一个参数:对象列表,第二个参数:每页显示的条数paginator.count # 总条数paginator.num_pages # 总页数paginator.page_range # 页码数列表current_page = paginator.page(5) # 取某一页,返回一个对象current_pa.原创 2020-10-22 10:52:27 · 329 阅读 · 0 评论 -
django 之ORM事务开启和回滚
在Django中可以通过django.db.transaction模块提供的atomic来定义一个事务,atomic提供两种用法1、装饰器方法: from django.db import transaction@transaction.atomicdef viewfunc(requ...原创 2020-10-21 15:27:29 · 1006 阅读 · 0 评论 -
postgres 错误duplicate key value violates unique constraint 解决方案
报错信息:django.db.utils.IntegrityError: duplicate key value violates unique constraint "parent_parentprofile_pkey"DETAIL: Key (id)=(3) already exists.原因分析:postgres主键排序是不同步主要是:serial key其实是由sequence实现的,当你手动给serial列赋值的时候,sequence是不会自增量变化的。最好不要给seri.原创 2020-10-20 15:10:34 · 25808 阅读 · 3 评论 -
Django PyJWT 使用
PyJWT官网https://jwt.io/安装pip install PyJWT项目文档(英文)https://pyjwt.readthedocs.io/en/latest/DEMOimport jwtimport datetimedic = { 'exp': datetime.datetime.now() + datetime.timedelta(days=1), # 过期时间 'iat': datetime.datetime.now(),原创 2020-10-16 14:45:53 · 988 阅读 · 0 评论 -
Django常用的QuerySet操作
1. 支持链式调用的接口 all 使用频率比较高,相当于SELECT * FROM table 语句,用于查询所有数据。 filter 使用频率比较高,根据条件过滤数据,常用的条件基本上字段等于、不等于、大于、小于。当然,还有其他的,比如能修改成产生LIKE查询的:Model.objects.filter(content__contains="条件")。 exclude 与filter是相反的逻辑 reverse 将QuerySet中的结果倒叙排列 distin原创 2020-09-24 11:16:00 · 2601 阅读 · 0 评论 -
django_orm查询性能优化
查询操作和性能优化1.基本操作增models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargsobj = models.Tb1(c1='xx', c2='oo')obj.save() 查models.Tb1.objects.get(id=123) # 获取单条数据,不存在则报错(不建议)models.Tb1.objects.all() # 获取全...原创 2020-08-28 01:40:54 · 826 阅读 · 0 评论 -
如何使用render_to_string时填充{%csrf_token%}
我需要使用render_to_string,但不能使用{%csrf_token%}并通过content = render_to_string('blog/comment.html', context=context)return JsonResponse({'content': content})解决方案我已经解决了这个问题,但是我仍然非常想要一个好的解决方案。面板功能现在看起来像:def render_to_s(request, *args, **kwargs):原创 2020-06-15 15:30:34 · 361 阅读 · 0 评论 -
博客优化-django静态页面处理
前言: 我看很多资料使用celery, 定时任务去执行首页静态化, 觉得博客基本都是自己修改内容, 首页基本不会经常发生变化.也不需要定时更新静态文件,所以就没有采用celery.以下是我想到的实现方法思路如下:1、根据文章 id,生成该文章的静态文件名称;2、静态文件名配上它存放的路径;3、判断此文章是否已静态化,如没有,则静态化 i)取文章数据、首页数据等其它数据; ii)将取出的数据渲染到模板中; iii)将生成的文章内容写到静态文件中去4、根据r...原创 2020-05-12 18:27:11 · 297 阅读 · 0 评论 -
博客优化:博客文章图片Django使用ckeditor上传到七牛云
介绍最近正在使用Django开发一个项目,有一个需求是需要在后台,使用富文本编辑器,去自定义一些内容。会涉及到图片的上传。我准备把上传的内容存储到七牛里面,不想放在服务器上面。碰到一些问题,总结一下。分析我使用的django-ckeditor版本为5.6.1。前面操作都是跟官网说的一样。在setting.py里面的INSTALLED_APPS增加:'ckeditor', # ...转载 2020-04-02 18:07:54 · 387 阅读 · 0 评论 -
稳定易用的 Django 分页库,完善分页功能
分页效果概述分页效果一个比较完善的分页效果应该具有以下特性,就像上图展示的那样,很多网站都采用了类似这种的分页导航方式。始终显示第一页和最后一页。 当前页码高亮显示。 显示当前页码前后几个连续的页码。 如果两个页码号间还有其它页码,中间显示省略号以提示用户。分页思路如果需要自己来实现分页效果,我们会怎么做呢?先来分析一下导航条的组成部分,可以看到整个分页导航条其实...原创 2020-03-21 02:11:19 · 309 阅读 · 0 评论 -
Django Nginx反代 获取真实ip
非反代情况下Django 中 ip =request.META['REMOTE_ADDR'] 即可拿到对应ip地址Nginx、fcgi、uwsgi等反代情况下vi /etc/nginx/conf.d/xxx.conf 加入下面几行location / { proxy_pass http://127.0.0.1:8080; proxy_redire...原创 2020-03-18 00:51:14 · 911 阅读 · 0 评论 -
Gunicorn快速入门详解
Gunicorn是一个unix上被广泛使用的高性能的Python WSGI UNIX HTTP Server。和大多数的web框架兼容,并具有实现简单,轻量级,高性能等特点。gunicorn 安装pip install gunicorngunicorn + flask 简单示例flask程序需要先安装flask module,pip install flask。gunic...原创 2020-03-18 00:44:28 · 474 阅读 · 0 评论 -
配置了多个身份验证后端,因此必须提供`backend`参数或在用户上设置`backend`属性
setting.py 用户认证配置# 指定自定义用户认证AUTHENTICATION_BACKENDS = ( 'user.backend.LoginMobileUsernameModelBackend', # django admin所使用的用户登录与django-allauth无关 'django.contrib.auth.backends.ModelBac...原创 2020-02-15 23:40:58 · 1040 阅读 · 0 评论 -
Python Django之密码的加密和解密
通过django自带的类库,来加密解密很方便,下面来简单介绍下;导入包:from django.contrib.auth.hashers import make_password, check_password从名字就可以看出来他们的作用了。一个是生成密码,一个是核对密码。注意:[直接在python命令解释器导入会报错:django.core.exception...原创 2020-02-02 08:38:44 · 1316 阅读 · 0 评论 -
Django模板标签regroup的妙用
django文档 regroupDjango模板标签regroup的妙用在使用 Django 开发时,有时候我们需要在模板中按对象的某个属性分组显示一系列数据。例如博客文章按照时间归档分组显示文章列表,或者需要按日期分组显示通知(例如知乎)的通知列表。如果不熟悉 Django 内置的regroup模板标签,要完成这个需求可能还得费点功夫,而使用regroup则可以轻松完成任务...原创 2020-01-20 16:10:11 · 323 阅读 · 1 评论 -
Django rest framework 源码分析 ----认证
Django rest framework 源码分析 ----认证一、基础django 2.0官方文档 1 https://docs.djangoproject.com/en/2.0/ 安装pip3 install djangorestframework假如我们想实现用户必须是登陆后才能访问的需求,利用restframework该...原创 2019-03-27 21:14:45 · 403 阅读 · 0 评论 -
Django - installing mysqlclient error: mysqlclient 1.3.13 or newer is required; you have 0.9.3
if version < (1, 3, 13): raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)转到你的django / db / backends / mysql安装目录\Env\dj\Lib\site-p...原创 2019-05-06 14:54:09 · 462 阅读 · 0 评论 -
Python之django-simple-captcha django简单验证码插件
环境的准备前端框架semantic uiPython 3.6.4pip install django pip install django-simple-captchadjango-simple-captcha官方文档地址http://django-simple-captcha.readthedocs.io/en/latest/目标展示配置settings.py...原创 2019-05-10 16:15:45 · 612 阅读 · 0 评论 -
使用Docker部署Python Django web 博客应用 的过程和心得
之前部署Web应用,没用docker,直接在服务器上部署,使用了django+nginx+supervisor+gunicorn部署博客应用。但后来了解了docker,为其“Build,Ship and Run Any App,Anywhere”的思想所折服,觉得这个太牛逼了,所以我也尝试一下自己用docker部署Web应用。本篇文章为了记录我用docker部署web应用的过程和心得。????详...原创 2019-08-28 19:53:31 · 1446 阅读 · 0 评论 -
使用Docker部署Django应用的过程和心得
之前部署Web应用,没用docker,直接在服务器上部署,使用了django+nginx+supervisor+gunicorn部署博客应用。但后来了解了docker,为其“Build,Ship and Run Any App,Anywhere”的思想所折服,觉得这个太牛逼了,所以我也尝试一下自己用docker部署Web应用。本篇文章为了记录我用docker部署web应用的过程和心得。详情...原创 2019-12-24 13:52:23 · 266 阅读 · 0 评论 -
Django setting.py配置项: ALLOWED_HOSTS
ALLOWED_HOSTS的配置中文说明ALLOWED_HOSTS后面所跟的属性值是一个字符串列表值,这个字符串列表值表示当下这个Django站点可以提供的host/domain(主机/域名)。这是一种安全措施,通过使用伪造的HTTP主机标头提交请求来防止攻击者中毒缓存并触发带有恶意主机链接的密码重置电子邮件,即使在许多看似安全的Web服务器配置下也是如此。ALLOWED_HOST...原创 2019-09-11 10:36:47 · 9844 阅读 · 0 评论 -
console.log (特殊字符编码图案)
百度对于非图片的字符串生成 _____ _ ___ | | |_|_ |___ ___ ___ ___ ___ ___ | --| |_ | | | | | | ||_____|_|_|___|_|_|_|_|_|_|_|_|_|_|_|_| 折腾不息...原创 2019-09-10 17:57:36 · 1070 阅读 · 0 评论 -
django模板在base.html中导入include中再添加自定义标签 错误
base.html......<!-- 侧边栏目 -->{% include 'blog/secondary.html' %}......secondary.html{# 热点文章 #} {% block hotnews %} <aside id="views-4" class="widget widget_views">...原创 2019-09-12 15:05:07 · 514 阅读 · 0 评论 -
Django创建模型迁移未创建对应表
问题描述:在django中创建了一个app,而且在app中自定义创建了几个数据表,在同步的时候系统自带的表可以成功,但是models中的没有生效,而且进入对应app下的migrations目录,发现为空,应该如何解决呢!解决方法一:# managerbook就是你的app名字,此处要写成自己的app名字python3manage.pymakemigrations--em...原创 2019-09-16 16:04:06 · 1493 阅读 · 0 评论 -
Django的STATIC_ROOT和STATIC_URL以及STATICFILES_DIRS 详解
首先,我们配置静态文件,要在setting.py里面加入如下几行代码: settings.py# the settings above# STATIC SETTINGSSTATIC_URL = '/static/'# BASE_DIR 是项目的绝对地址STATIC_ROOT = os.path.join(BASE_DIR, 'collect_static')#以下不是必须的ST...原创 2019-09-16 17:28:39 · 569 阅读 · 0 评论 -
博客优化-使用django-compressor压缩静态css js文件
在网站开发阶段,对于静态资源文件比如JS,CSS等文件都是未经过压缩合并处理的,这对于访问量巨大的网站来说不仅浪费带宽,而且也会影响网站的访问速度。django-compressor的作用就是将静态文件压缩合并成一个文件,不仅减少了网站的请求次数,还能节省网络带宽。本文分为两部分,第一部分介绍settings文件相关配置对静态文件的影响,然后再讨论Compressor的如何使用。如果你对set...原创 2019-09-17 16:47:32 · 607 阅读 · 2 评论