DJango项目实例_资产管理系统02

一、客户端程序组织编写客户端,不能一个py脚本包打天下,要有组织有目的,通常我们会采取下面的结构:在Pycharm中,项目根目录下,创建一个Client目录,作为客户端的根目录。在Client下,创建下面的包。注意是包,不是文件夹:bin:客户端启动脚本的所在目录conf:配置文件目录core:核心代码目录log:日志文件目录plugins:插件或工具目录二、开发数...
摘要由CSDN通过智能技术生成

一、客户端程序组织
编写客户端,不能一个py脚本包打天下,要有组织有目的,通常我们会采取下面的结构:

在Pycharm中,项目根目录下,创建一个Client目录,作为客户端的根目录。

在Client下,创建下面的包。注意是包,不是文件夹:

bin:客户端启动脚本的所在目录
conf:配置文件目录
core:核心代码目录
log:日志文件目录
plugins:插件或工具目录


二、开发数据收集客户端
1.程序入口脚本
在bin目录中新建main.py文件,写入下面的代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

"""
完全可以把客户端信息收集脚本做成windows和linux两个不同的版本。
"""
import os
import sys

BASE_DIR = os.path.dirname(os.getcwd())
# 设置工作目录,使得包和模块能够正常导入
sys.path.append(BASE_DIR)

from core import handler

if __name__ == '__main__':

    handler.ArgvHandler(sys.argv)

在pycharm中可能出现导入失败的红色波浪线警告信息,其实是可以导入的,请忽略它。

通过os和sys模块的配合,将当前客户端所在目录设置为工作目录,如果不这么做,会无法导入其它模块;
handler模块是核心代码模块,在core目录中,我们一会来实现它。
以后调用客户端就只需要执行python main.py 参数就可以了
这里有个问题一定要强调一下,那就是Python解释器的调用,执行命令的方式和代码第一行#!/usr/bin/env python的指定方式一定不能冲突,要根据你的实际情况实际操作和修改代码!

 

2.主功能模块
在core下,创建handler.py文件,写入下面的代码:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django_celery_beat是一个django应用程序,它允许您使用celery定期运行周期性任务。这些周期性任务可以是一次性的或循环的,你可以设置它们在指定的时间间隔内自动运行,也可以设置它们在特定的时间运行。 要使用django_celery_beat,请按照以下步骤操作: 1. 安装django_celery_beat: ``` pip install django_celery_beat ``` 2. 在settings.py中添加以下代码: ``` INSTALLED_APPS = [ # ... 'django_celery_beat', ] CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler' ``` 3. 在项目的urls.py文件中添加以下代码: ``` from django.urls import path from django_celery_beat.views import ( PeriodicTaskListView, PeriodicTaskCreateView, PeriodicTaskUpdateView, PeriodicTaskDeleteView, PeriodicTaskDetailView, ) urlpatterns = [ # ... path('celery/periodic-tasks/', PeriodicTaskListView.as_view(), name='periodic_task_list'), path('celery/periodic-task/add/', PeriodicTaskCreateView.as_view(), name='periodic_task_create'), path('celery/periodic-task/<int:pk>/', PeriodicTaskDetailView.as_view(), name='periodic_task_detail'), path('celery/periodic-task/<int:pk>/update/', PeriodicTaskUpdateView.as_view(), name='periodic_task_update'), path('celery/periodic-task/<int:pk>/delete/', PeriodicTaskDeleteView.as_view(), name='periodic_task_delete'), ] ``` 4. 在celery.py文件中添加以下代码: ``` from celery import Celery from django.conf import settings app = Celery('my_project') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) ``` 5. 在tasks.py文件中创建您的任务,例如: ``` from celery import shared_task @shared_task def my_task(): # Do something here ``` 6. 创建周期性任务,您可以使用Django admin或创建它们的视图。 现在,您已经可以在django中使用celery定期运行周期性任务了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值