django 之(六) --- Celery|Admin
Celery - 分布式任务队列
简介:
Celery是一个简单,灵活且可靠的分布式系统,可以处理大量消息,同时为操作提供维护该系统所需的工具。这是一个任务队列,着重于实时处理,同时还支持任务调度。
消息队列
异步任务
定时任务
需要了解的知识
选择并安装消息容器(载体)
安装Celery并创建第一个任务
开启工作进程并调用任务
记录工作状态和返回的结果
简单使用:
- 安装
- pip install -U "celery[redis]" 使用redis当作载体
- pip install celery 安装celery
- 配置:
- settings.py中
1 # Celery settings
2 CELERY_BROKER_URL = 'redis://localhost:6379/1'
1 CACHES = {
2 "default": {
3 "BACKEND": "django_redis.cache.RedisCache",
4 "LOCATION": "redis://127.0.0.1:6379/1",
5 "TIMEOUT": 60 * 60 * 24,
6 "OPTIONS": {
7 "CLIENT_CLASS": "django_redis.client.DefaultClient",
8 }
9 }
10 }
- 创建
- 创建应用、任务doc/code/tasks.py
from time import sleep
from celery import Celery # 参数('任务的名字',配置消息载体)
app = Celery("tasks", broker='redis://localhost:6379/1') # 用app作为装饰器为add函数定制任务
@app.task
def add(a, b):
sleep(5)
return a + b if __name__ == '__main__':
# add.delay表示异步计算add函数,返回计算结果的一个uuid标示
print(add.delay(4, 6))
- 启动
- 注意:启动时要在任务文件所在文件夹下输入命令
- celery -A tasks worker --loglevel=info [tasks:(工程)文件名;worker模式;loglevel:日志级别]
Django中使用:
- 安装:pip install django-celery-results
- 迁移:
Admin
介绍:
Django中默认集成了后台数据管理页面,通过简单的配置就可以实现模型后台的Web控制台。
管理界面通常是给系统管理员使用的,用来完成数据的输入、删除、查询等工作
如果没有集成或者使用第三方后台框架,可以在settings中的INSTALLED_APPS添加'django.contrib.admin'
使用:
- python manage.py createsuperuser 终端此命令后回车,输入:用户名、邮箱、密码、确认密码
- 127.0.0.1:8000/admin/ 浏览器输入此路由进入后台管理页面,输入用户名、密码
模型:
- django默认管理的模型有:用户、组
- 在admin.py文件中注册admin.site.register(模型名)。添加自己的数据模型到后台管理中
定制
如果觉得默认的站点样式不能满足需求,则开发者可以通过继承Django定义的管理员数据模型,模版
站点类来开发出个性化的管理员站点。只需要注册的时候添加自己的管理员类
- 创建管理员:class StudentAdmin(admin.ModelAdmin):
- 注册管理类:admin.site.register(Students.StudentAdmin)
Log级别
info
debug
warning:警告
error: 错误
critical: 严重错误,影响到系统框架代码的错误
django 之(六) --- Celery|Admin的更多相关文章
- Django App(六) Customing Admin Form
这一篇主要是呼应第二篇时留下来的一个问题,就是如何自定义默认app admin下的Form 1.绑定数据实体 通过第二篇的努力,已经完成了数据实体到数据库的映射,可以将界面的更改保存到数据库,我们建 ...
- VS2019 开发Django(六)------Admin中图片上传
导航:VS2019开发Django系列 该篇继续完善在Django的管理界面上传图片,因为LazyOrders小程序中菜单需要展示图片,而不是一个文本路径,所以我们还需要继续改造一下. 1)安装pil ...
- Django 中使用 Celery
起步 在 <分布式任务队列Celery使用说明> 中介绍了在 Python 中使用 Celery 来实验异步任务和定时任务功能.本文介绍如何在 Django 中使用 Celery. 安装 ...
- Django中使用Celery
一.前言 Celery是一个基于python开发的分布式任务队列,如果不了解请阅读笔者上一篇博文Celery入门与进阶,而做python WEB开发最为流行的框架莫属Django,但是Django的请 ...
- Django中使用Celery实现定时任务(用djcelery)
一.引言 Django是python语言下的一个比较热门的Web框架,越来越多的企业和开发者使用Django实现自己的Web服务器.在Web服务器开发过程中,有时候我们不仅仅是要实现Web服务器端和用 ...
- Django之使用celery和NGINX生成静态页面实现性能优化
性能优化原理: 当我们要给client浏览器返回一个页面时,我们需要去数据库查询数据并将数据和基本页面模板渲染形成页面返回给客户端,但如果每一个用户访问时都去查询一次首页的的数据时,当日访问量很大时那 ...
- Python—在Django中使用Celery
一.Django中的请求 Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下: http请求发起 经过中间件 http handling(request解析) ur ...
- 7) 项目准备流程 和 django权限六表
一.项目准备 1. 创建django项目 2. 创建数据库 —— init文件中声明mysql —— settings中配置数据库 import pymysql pymysql.install_as_ ...
- Django基础六之cookie和session
Django基础六之cookie和session 目录 Django基础六之cookie和session 1. cookie和session介绍 1.1 cookie 简介 1.2 cookie的缺陷 ...
随机推荐
- thinkphp session跨域
1 .在config.PHP中添加 'SESSION_OPTIONS'=>array('domain'=>'.caizhimofang.con'),//session配置 'COOK ...
- Postman----登录接口返回的reponse中token值传递给其他接口的一个简单接口测试示例
注: 在进行接口测试时,我们都需要使用登录,并且其他的接口都要在登录后进行,那么必不可少的会使用到将登录接口的reponse返回结果中的某些参数值需要进行返回,并传递给其他接口,这样才可以进行登录后的 ...
- php 的一个异常处理程序
<?php//exceptionHandle.php xiecongwen 20140620 //define('DEBUG',true); /** * Display all errors w ...
- 将 Python 程序打包成 .exe 文件
1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...
- jmeter+ant+jenkins搭建自动化测试环境(基于linux)
安装CentOS7操作系统 关闭系统防火墙 [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# syste ...
- Shiro-Subject 分析(转)
Subject反正就好像呈现的视图.所有Subject 都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager:可以把Subject认为是一个门面: ...
- 计算几何板子题【2019牛客国庆集训派对day7——三角形和矩形】【多边形相交的面积】
链接:https://ac.nowcoder.com/acm/contest/1112/J来源:牛客网 题目描述 Bobo 有一个三角形和一个矩形,他想求他们交的面积. 具体地,三角形和矩形由 8 个 ...
- 002_C/C++笔试题_简单算法程序
(一)冒泡排序法 #include <iostream> using namespace std; void bubblesort(int a[], int m); int main(vo ...
- SQL Server Report Server
1.SQL Server Report Server是利用mircosoft的share point产品 在menu 打开Reporting Services Configuration进行配置,会自 ...
- shiro认证-SSM
shiro认证-SSM pom <dependency> <groupId>org.apache.shiro</groupId> <artifactId> ...