优缺点 优点django ninja

django admin 使用ForeignKey外键时候select框带搜索功能

默认情况下ForeignKey调用的时候只能单选,当内容过多时候不方便,所以启用带搜索功能,就相对很方便了。 在admin.py中使用 #保证以下2个参数都要有内容,否则会报错 autocomplete_fields = ('name',) search_fields = ['name'] #关联表 ......
ForeignKey 时候 功能 django select

Django使用mark_safe()和format_html()函数

django从view向template传递HTML字符串的时候,django默认不渲染此HTML,原因是为了防止这段字符串里面有恶意攻击的代码。 如果需要渲染这段字符串,需要在view里这样写: from django.utils.safestring import mark_safe def v ......
format_html 函数 mark_safe Django format

django Q的用法

范围查询: from django.db.models import Q from login.models import lucax #models对象 lucax.objects.get( Q(question__startswith='Who'), Q(pub_date=date(2005, ......
django

Django笔记十一之外键查询优化select_related和prefetch_related

本篇笔记目录如下: select_related prefetch_related 在介绍 select_related 和 prefetch_related 这两个函数前,我们先来看一个例子。 对于,Entry 和 Blog 这两个 model,前面介绍过,Blog 是 Entry 的外键,如下: ......

Django_使用汇总(1)

使用django(4.1.5) 搭建股票信息后台,显示股票信息; Stock -> models.py class Stock(models.Model): symbol = models.CharField(max_length=45) # 股票名称 st_name = models.CharFi ......
Django

django 批量创建bulk_create和批量更新bulk_update

一、为什么要用bulk_create和bulk_update 以创建1万个对象为例,相比save() 循环和save() 事务,bulk_效率是save()循环保存的百倍,是事务处理的近10倍: # 创建model(MyModel),此处省略 # 用for循环挨个创建,共花费36秒 for i in ......
bulk bulk_create bulk_update django create

Django区分大小写(mysql)

Django区分大小写 注:django区分大小写前mysql区分大小写 1、区分大小写方法 model: ReleaseClientMsgModel固定写法: binary数据库字段: client_name%s. # %s 变量参数: params=['参数1', '参数2'] # 可以传入变量 ......
大小 Django mysql

django 日志配置

settings.py # 日志配置 import logging LOGGING = { 'version': 1, # 版本号 默认 1 'disable_existing_loggers': False, # 是否关掉第三方模块的日志功能,默认都是False的 'formatters': { ......
django 日志

Django Form所有内置字段

Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 help_text='', 帮助信息(在标签旁边显示) error_messages=None, 错误信息 { ......
字段 Django Form

Django ModelForm CheckBox小部件

我目前遇到问题,并且可能忽略了一些琐碎的事情。 我的模型中有一个字段,该字段应允许通过复选框表单进行多种选择(不必在管理屏幕中成为复选框,只需在最终用户将看到的表单区域中)。 目前,我的字段设置如下: # Type of Media MEDIA_CHOICES = ( ('1', 'Magazine ......
部件 ModelForm CheckBox Django

pycharm 调试django项目时,debug断点没反应

pycharm 调试django项目时,debug断点没反应. 1.点击右上角 2.自定义debug路径以及名字,解释器环境。 TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong ......
断点 pycharm 项目 django debug

django-admin实现动态多选框表单

借助django-admin,可以快速得到CRUD界面,但若需要创建多选标签字段时,需要对表单进行调整 model.py 一个tag(标签类),一个book(书本类) book携带tag,这里不借助有性能问题的外键 class tag(models.Model): name = models.Cha ......
表单 django-admin 动态 django admin

django admin复选MultiSelectField的使用

参考文档:https://pypi.org/project/django-multiselectfield/ 1,先安装 pip install django-multiselectfield 2,修改settings.py INSTALLED_APPS = [ 'simpleui', 'djang ......
MultiSelectField django admin

vue+django图片上传七牛云

使用七牛云服务 用户在前端传入的图片,直接存入到七牛云中,并把图片链接保存到后端 逻辑 前端获取到图片 发送给后端 后端调用七牛云服务 生成图片名称 上传到七牛云 然后拿到图片外链 存入对应数据中 前端代码 前端使用了vue 加 vant2组件 <van-uploader v-model="file ......
django 图片 vue

Django笔记十之values_list指定字段取值及distinct去重处理

这篇笔记将介绍 reverse、distinct、values 和 values_list 的用法。 本篇笔记目录如下: reverse() values() values_list() distinct() using() 1、reverse() 对 QuerySet 返回的结果进行反转,使用方法 ......
字段 values_list distinct 笔记 Django

Django 限制 admin 后台IP访问权限

一. 创建py文件,配置后台管理的路径,及可访问后台的公网IP import ipaddress from django.http.response import HttpResponseForbidden class AdminSecureMiddleware(object): admin_url ......
后台 权限 Django admin

Django用户权限通过Token校验

最好是将用户权限验证和Token验证放在Django中间件中,以便对所有视图函数进行校验。 下面是一段示例代码,演示了如何实现中间件来进行用户权限验证和Token验证 middleware.py from django.contrib.auth import authenticate from dj ......
权限 用户 Django Token

并发编程的优缺点

为什么要使用并发编程(并发编程的优点) 充分利用多核CPU的计算能力 方便进行业务拆分,提升系统并发能力和性能 并发编程的缺点 并发编程的目的就是为了能提高程序的执行效率,提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而且并发编程可能会遇到很多问题,比如:内存泄漏、上下文切换、线程安全 ......
优缺点

django使用后台admin修改/删除记录的同时更新文件

问题 使用django自带admin后台删除表的时候 , 因为文件是存在服务器的 , 所以是只是删除了数据库的数据 , 而服务器的文件还存在 解决 models.py # 模型类 class ProjectTable(models.Model): # # 附件 enclosure = models. ......
后台 同时 文件 django admin

django查询优化之是否存在

res = Booking.objects.filter() # 方法一:exists() if res.exists(): print('queryset has data') else: print('queryset has no data') # 方法二:count() ==0 if res ......
django

django中celery的使用

创建django项目 $ django-admin startproject proj $ cd proj $ tree . ├── manage.py └── proj ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi ......
django celery

Django笔记九之model查询filter、exclude、annotate、order_by

在接下来四五篇笔记中,将介绍 model 查询方法的各个细节,为我们的查询操作提供各种便利。 本篇笔记将介绍惰性查找、filter、exclude、annotate等方法,目录如下: 惰性查找 filter exclude annotate alias order_by 1、惰性查找 前面我们在介绍 ......
annotate order_by exclude 笔记 Django

Django使用已经存有数据的mysql数据库(搬自简书 LeslieLiang)

由于在django中数据表的操作都是通过models去执行的,所以在你需要使用数据库之前需要在app中的models.py文件中事先去写好需要的表及字段,这是一件比较麻烦的事,那如何在事先没有配置models文件的情况下去对接已经存有数据的数据表呢? 首先需要将django站点的默认数据库存储引擎修 ......
数据 LeslieLiang 数据库 Django mysql

reverse in Django

问题 url patterns: path("rev/abc",views.getUrlNoParam,name="urlNoPara"), path("rev2/<data>",views.getUrlArgs,name="UrlArgs"), path("rev3/<data>",views.g ......
reverse Django in

url patterns to acccess views of app in Django

问题 The difference between the following url patterns in main project of Django?from testinclude import views as subViewssub=[path("sub/",subViews.usei ......
patterns acccess Django views url

django-信号

Django的信号 一 信号简介 Django提供一种信号机制。其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) 。当发生一些动作的时候,发出信号,然后监听了这个信号的函数就会执行。 通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。用于在框架执行操作时 ......
信号 django

Django笔记八之model中Meta参数的使用

前面介绍了 model 的字段属性,字段类型,这篇笔记介绍一下 model 的 Meta 选项。 这个选项提供了一些参数,比如排序(ordering),表名(db_table)等。 但这都不是必需的,都是作为可选项,主要是为使用者提供方便的、自定义的一些用法。 以下是本次笔记的目录列表: db_ta ......
参数 笔记 Django model Meta

聊聊常见的加密算法、原理、优缺点、用途

在安全领域,利用密钥加密算法来对通信的过程进行加密是一种常见的安全手段。利用该手段能够保障数据安全通信的三个目标: 数据的保密性,防止用户的数据被窃取或泄露 保证数据的完整性,防止用户传输的数据被篡改 通信双方的身份确认,确保数据来源与合法的用户 常见的密钥加密算法类型大体可以分为三类:对称加密、非 ......
优缺点 算法 用途 原理 常见

Django笔记七之ManyToMany和OneToOne介绍

ManyToMany 是一种多对多的关系,在用途和使用方法上和外键 ForeignKey 类似。 以下是本篇笔记的目录: ManyToMany 的介绍 through 参数 through_fields 参数 ManyToMany关系数据的增删改查 OneToOne介绍 1、ManyToMany 的 ......
ManyToMany OneToOne 笔记 Django

Django 大数据 orm 操作 - 报错及解决方法记录

报错: django.db.utils.OperationalError: (1153, "Got a packet bigger than 'max_allowed_packet' bytes") 解决方法: 修改 mysql 配置文件的 max_allowed_packet 配置参数(注意这里是 ......
方法 数据 Django orm