python3.8+django2+celery5.2.7环境准备(python测试开发django)

下面是关于“python3.8+django2+celery5.2.7环境准备”的完整攻略。

一、环境准备

  1. 下载Python3.8

在Python官网上下载Python3.8的安装包并安装,或者通过apt、yum等包管理工具进行安装。

  1. 安装并配置virtualenv

virtualenv是一个可以创建虚拟Python环境的工具,并且可以在不同的项目中使用不同的Python环境,保证环境的独立性。可以通过以下命令安装:

pip3 install virtualenv

安装完成后,可以在项目目录下创建一个虚拟环境:

virtualenv env
  1. 激活虚拟环境并安装Django和Celery

进入虚拟环境:

source env/bin/activate

在虚拟环境中,可以使用pip安装Django和Celery:

pip install django
pip install celery

二、用Django和Celery实现异步任务调度

  1. 创建Django项目

首先,需要创建一个Django项目,可以通过以下命令:

django-admin startproject myproject
  1. 创建Django App

在项目目录下使用以下命令创建一个Django App:

python manage.py startapp myapp
  1. 创建Celery异步任务

在myapp的目录中创建一个tasks.py文件,并编写如下的异步任务:

from celery.decorators import task

@task()
def add(x, y):
    return x + y
  1. 配置Django和Celery

在myproject目录下创建一个celery.py文件,并配置如下内容:

import os
from celery import Celery

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')

app = Celery('myproject', broker='amqp://guest@localhost//')

app.config_from_object('django.conf:settings', namespace='CELERY')

app.autodiscover_tasks()

在myproject的settings.py文件中添加如下配置项:

CELERY_TIMEZONE = 'Asia/Shanghai'
CELERY_BROKER_URL = 'amqp://guest@localhost//'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
  1. 启动Celery Worker

在虚拟环境中运行以下命令启动Celery Worker:

celery -A myproject worker -l info
  1. 调用异步任务

在views.py文件中添加以下代码:

from django.shortcuts import render
from .tasks import add

def index(request):
    result = add.delay(1, 2)
    return render(request, 'index.html', {'result': result})

在myapp目录下创建一个名为index.html的模板,用于显示异步任务的运行结果:

<!DOCTYPE html>
<html>
    <head>
        <title>Django and Celery</title>
    </head>
    <body>
        <h1>{{ result.get }}</h1>
    </body>
</html>

  1. 启动Django并测试

在虚拟环境中运行以下命令启动Django:

python manage.py runserver

在浏览器中访问 http://localhost:8000/,可以看到运行结果为3。

以上就是关于“python3.8+django2+celery5.2.7环境准备”的完整攻略,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3.8+django2+celery5.2.7环境准备(python测试开发django) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • python + django + echart 构建中型项目

    1. python生产环境, 多层modules 导入问题:   多个modules 如何导入不同级别的包: 在每个modules下新建 __init__.pyimport os, sys dir_mytest = os.path.dirname(os.path.abspath(__file__))      # crontab 跑时 os.getcwd()…

    Django 2023年4月13日
    00
  • 【D01】Django中实现带进度条的倒计时功能(简易版)

    首先说明简易版是只有一个 倒计时 和一个 进度条,页面加载后自动开始计时,下次计时需要手动刷新页面。 后续会更新实现完整的倒计时功能的文章 前期准备 前端框架 你需要准备一些前端框架:Bootstrap4 和 jQuery安装方法请自行查阅官方文档或教程 Bootstrap4:https://v4.bootcss.com/docs/getting-start…

    Django 2023年4月13日
    00
  • Django 中的装饰器的使用

    1、CBV实现的登录视图 class LoginView(View): def get(self, request): “”” 处理GET请求 “”” return render(request, ‘login.html’) def post(self, request): “”” 处理POST请求 “”” user = request.POST.get(‘…

    Django 2023年4月12日
    00
  • Django设置/获取/删除session

    # 设置sessiondef setSession(request): request.session[‘username’] = ‘ruan’ request.session[‘isLogin’] = True return HttpResponse(‘OK’)# 获取session def GetSession(request): isLogin = r…

    Django 2023年4月13日
    00
  • django 框架学习:十六.django 后台管理系统

    每个网站一般都有后台管理系统,为了方便管理,django框架也有后台管理系统,后台管理系统主要可以实现以下功能: 基于admin模块,可恶意实现类似数据库客户端的功能,对数据库进行增删改查。 基于该模块的数据管理功能,可以二次定制一些使用的功能。 settings.py 配置 在INSTALLED_APPS中,默认已经添加相关模块。 ‘django.cont…

    2023年4月10日
    00
  • Django REST framework 的快速入门教程

    CRM-API项目搭建 序列器(Serializers) 首先,我们来定义一些序列器。我们来创建一个新的模块(module)叫做 crm/rest_searializer.py ,这是我们用来描述数据是如何呈现的。 #从已存在的assets项目中导入数据models模块 from crm import models from rest_framework i…

    2023年4月10日
    00
  • django页面跳转问题及注意事项

    Django 页面跳转问题及注意事项 在 Django 框架中,实现页面跳转是常见的需求,如果处理不当,就会出现一些问题,本篇攻略将详细讲解 Django 页面跳转问题及注意事项。 1. 页面跳转方式 在 Django 中,实现页面跳转主要有以下两种方式: 1.1 HttpResponseRedirect HttpRedirect 是基于 HTTP 协议的一…

    Django 2023年5月16日
    00
  • PyCharm创建Django项目的简单步骤记录

    下面是详细讲解“PyCharm创建Django项目的简单步骤记录”的完整攻略。 1.环境准备 在开始创建Django项目之前,需要准备好以下环境: Python环境,可以到https://www.python.org/downloads/下载Python的安装包进行安装。 PyCharm IDE,可以到https://www.jetbrains.com/py…

    Django 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部