zoukankan      html  css  js  c++  java
  • 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
     1 from time import sleep
     2 from celery import Celery
     3 
     4 # 参数('任务的名字',配置消息载体)
     5 app = Celery("tasks", broker='redis://localhost:6379/1')
     6 
     7 # 用app作为装饰器为add函数定制任务
     8 @app.task
     9 def add(a, b):
    10     sleep(5)
    11     return a + b
    12 
    14 if __name__ == '__main__':
    15     # add.delay表示异步计算add函数,返回计算结果的一个uuid标示
    16     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:  严重错误,影响到系统框架代码的错误

    生如逆旅 一苇以航
  • 相关阅读:
    第二百七十八节,MySQL数据库-表内容操作
    第二百七十七节,MySQL数据库-数据表、以及列的增删改查
    第二百七十六节,MySQL数据库,【显示、创建、选定、删除数据库】,【用户管理、对用户增删改查以及授权】
    第二百七十五节,MySQL数据库安装和介绍
    第二百七十四节,同源策略和跨域Ajax
    第二百七十三节,Tornado框架-文件上传
    第二百七十二节,Tornado框架-iframe标签框架伪造ajax
    如何判断某个字符串是不是有数值型通过逗号拼接成的字符串
    统计每小时数据的处理
    计算某个特定分隔符分隔的字符串的和
  • 原文地址:https://www.cnblogs.com/TMMM/p/11868578.html
Copyright © 2011-2022 走看看