0x01 linux配置#Linux下运行celery的命令是这个
celery -A djangoProject1 worker --loglevel=INFO
celery -A celery_tasks.main worker -l info
0x02 windows上的配置celery -A djangoProject1 worker --concurrency=4 --loglevel=INFO -P threads
celery -A celery_tasks.main worker --concurrency=4 --loglevel=INFO -P threads
...
pycypto windows10 安装报错pip install pycrypto
pip install pycryptodome
pycryptodome 替代
django2.2 的兼容问题
表结构
商品表店铺表收藏关系表人员表
人收藏商品,人收藏店铺, 收藏的关系保存在 收藏关系表中
models.pyfrom django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
from django.db import models
# Create your models here.
from accounts.models import Stude...
base_jinja2.py#coding:utf-8
from jinja2 import Environment # jinja2的虚拟环境
from django.contrib.staticfiles.storage import staticfiles_storage # django的一些依赖
from django.urls import reverse # urls需要和jinja进行一些配置
def environment(**options):
env = Environment(**options) # 把一些配置文件添加进去
...
win配置打开Postgresql配置文件,如:C:\Program Files\PostgreSQL\14\data\postgresql.conf
log_directory = 'log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
log_statement = 'all # 关键点
处理win10 乱码打开配置文件 ~datapostgresql.conf
修改 lc_messages = 'C'
修改日志格式log_filename = 'postgresql-%Y-...
安装 swaggerpip install drf_yasg
setting.py 添加 swaggerINSTALLED_APPS = [
....
'drf_yasg',
]
总路由配置 url.py# 配置 swagger
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from rest_framework import permissions
schema_view = get_schema_view(
openapi.Info(
...
一般的安装步骤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、一个星号的动态参数表示接收任意个参数,调用时会将实际参数打包成一个...