首页 > 解决方案 > 我们可以在 django 框架上存储文件吗?

问题描述

我想知道如何在 django 框架中存储一些文件,以及如何访问它们以进行编辑和更新?我想上传一些 excel 文件和一些自动化 excel 文件的 python 脚本。对我来说,本地一切都很好,但只是想知道如何为任何人都可以访问的网页做这件事?

谢谢

标签: pythondjangoexcelautomation

解决方案


有两种方法可以解决这个问题:

  1. 复制 app 目录下的 python 自动化代码,将其作为模块导入 djangoview.py文件中并调用执行指定任务的函数。(首选)
<your_app>/
├── admin.py
├── ...
├── <your_automation_script>.py
└── views.py
# views.py
from .<your_automation_script> import <edit_xlsx>

def view_function(req):
    # ... do before xls edition ...
    <edit_xlsx>()
    # ... do after xls edition ...
    return "something"
  1. 在 django 视图中创建 python 自动化代码的子进程。(不是首选)
# views.py
import subprocess

def view_function(req):
    # ... do before xls edition ...
    process = subprocess.run(['/path/to/automation_script.py','<args_if_any>'], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)

    output = process.stdout
    errors = process.stderr
    # ... do after xls edition ...
    return "something"

推荐阅读