一般的安装步骤1 安装依赖库pip3 install django-debug-toolbar
2 settings.py中 将 debug_toolbar 添加到 INSTALL_APPS 中INSTALLED_APPS = [
'django.contrib.staticfiles',
…
'debug_toolbar',# 注册debug_toolbar,放在django.contrib.staticfiles后面
]
3 settings.py中 在中间件中加入DebugToolbarMiddlewareMIDDLEWARE = [
# ...
'...
1 安装依赖包pip install coreapi
2 seting.py的文件配置REST_FRAMEWORK = {
'DEFAULT_SCHEMA_CLASS': 'rest_framework.schemas.AutoSchema',
}
3 url的配置from django.conf.urls import url
from rest_framework.documentation import include_docs_urls
url(r'^docs/', include_docs_urls(title='接口文档')),
4 访问http://127.0.0....
setting添加配置
AUTHENTICATION_BACKENDS = (
'users.views.CustomBackend',
# 'django.contrib.auth.backends.ModelBackend',
)
users.views.CustomBackendfrom django.contrib.auth import get_user_model
from django.contrib.auth.backends import ModelBackend, BaseBackend
from django.db.models import...
配置文件
# sql日志记录
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
},
'simple': {
'format': '%(levelname)s...
redis_db
连接数据库
import redis
try:
pool = redis.ConnectionPool(
host="localhost", port=6379, password="123456", db=0, max_connections=200
)
except Exception as e:
print(e)
thread
多线程操作
from concurrent.futures import ThreadPoolExecutor
from redis_db import pool
impo...
Python中一切皆对象,每个对象都有其唯一的id,对应的类型和值,其中id指的是对象在内存中的位置。根据对象的值是否可修改分为可变对象和不可变对象。其中,
不可对象包括:数字,字符串,tuple,frozenset(不可变集合)
可变对象包括:list,dict,set
Python中的变量可以指向任意对象,可以将变量都看成是指针,保存了所指向对象的内存地址(对象的引用)。
不可变对象对于不可变对象,如果要更新变量引用的不可变对象的值,会创建新的对象,改变对象的引用,举个例子
In [41]: x = 1
In [42]: y = x
In [43]: print(id...
测试 celery中的报错
配置中添加
DJANGO_CELERY_RESULTS_TASK_ID_MAX_LENGTH=191
Python包管理工具区分
pip: 包管理工具vitualenv:虚拟环境管理工具pyenv:python版本管理工具(支持下载指定python版本)pipenv和poetry:项目环境管理工具pipx:python应用管理工具,在隔离环境中安装和运行python应用venv:虚拟环境管理工具(python3.3 以后自带)
通过Toml文件定义环境依赖 pyproject.toml
[tool.poetry]
name = "example"
version = "0.1.0"
description = "A example project"
authors = ["aid...
一、概述
1、前文已经提过位置参数、默认参数,这两种是最常用的参数。
2、动态参数即不限定参数个数,以一种动态的方式接受传参的个数。
3、python的动态参数有两种,分别是 ‘ args ’ 和 ‘ **kwargs ’ 。他们区别在于是一个星号还是两个星号,而不是 args 和kwargs ,实际上定义成 ‘ cat ’ 和 ‘ dog’ 也是可以的,只是按照约定俗称的写法,通常写成 ‘ *args ’ 和 ‘ kwargs ’。
4、注意:动态参数必须放在所有位置参数和默认参数后面!
二、一个星号
1、一个星号的动态参数表示接收任意个参数,调用时会将实际参数打包成一个...