python - 我们可以在 django 框架上存储文件吗?
问题描述
我想知道如何在 django 框架中存储一些文件,以及如何访问它们以进行编辑和更新?我想上传一些 excel 文件和一些自动化 excel 文件的 python 脚本。对我来说,本地一切都很好,但只是想知道如何为任何人都可以访问的网页做这件事?
谢谢
解决方案
有两种方法可以解决这个问题:
- 复制 app 目录下的 python 自动化代码,将其作为模块导入 django
view.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"
- 在 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"
推荐阅读
- ios - 常量“权重”推断为“()”类型,这可能是意外的
- azure-devops - 来自 Azure DevOps 的未经授权的响应
- r - 如何正确格式化 POST 请求的正文
- azure - 如何停止 Azure AD B2C 登录流程以允许用户更改电子邮件
- python - 处理 url 以在特殊字符后返回字符串/数字的长度
- azure-devops - 如何使用替换令牌在 web.config 中执行 XML 元素替换?
- dapper - 在 C# MVVM 和 SQL Server 2019/Visual Studios Pro 2019 中使用 Dapper
- ibm-cloud - IBM 区块链平台的前端
- javascript - 如何在模态中设置默认音量音频
- sql - 通过处理多个列提出问题