【发布时间】:2021-01-24 10:36:35
【问题描述】:
我在 Django 3.1 上的项目具有以下布局:
.
├── app
│ ├── app
│ │ ├── asgi.py
│ │ ├── __init__.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
│ ├── core
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── fixtures
│ │ │ ├── Client.json
│ │ │ └── DataFeed.json
│ │ ├── __init__.py
│ │ ├── migrations
│ │ │ ├── 0001_initial.py
│ │ │ ├── 0002_auto_20201009_0950.py
│ │ │ └── __init__.py
│ │ ├── models.py
│ │ └── tests
│ │ └── __init__.py
│ └── manage.py
我想在这个项目中添加 2 个脚本:
- download_xml.py - 按计划从外部来源检查和下载 .xml 文件(每约 30 分钟一次)
- update_db_info.py - 由 download_xml.py 调用并将数据从下载的 xml 传输到数据库
为此类脚本组织展示位置的最佳 django 做法是什么?
我的想法:
- 只需在 app/core 中创建 scripts 文件夹并将脚本放在那里。使用 cron 调用它们
- 运行
python manage.py startapp db_update因此将创建 django 中的新应用程序。我将从其中删除迁移、视图、模型等并将脚本放在那里。再次使用 cron - 创建 app/core/management/commands 文件夹并将脚本放在那里。使用
python manage.py download_xml && python manage.py download_xml update_db_info通过cron调用它们
【问题讨论】:
标签: django