为了账号安全,请及时绑定邮箱和手机立即绑定

django:自定义代码集成到 django 项目中

django:自定义代码集成到 django 项目中

肥皂起泡泡 2021-09-28 20:33:56
菜鸟在这里和 Django。我有一个 Django 应用程序的以下文件夹结构,它位于主项目文件夹中。my_app/    __init__.py    admin.py    apps.py    migrations/        __init__.py    models.py    tests.py    views.py我写了一个命令行 python 脚本来获取一个 JSON 文件并解析它以显示非常具体的信息。它使用请求库进行 JSON 和数据解析。我的问题是如何将我的脚本集成到 Django 应用程序中。具体怎么带上它的逻辑,放在哪个文件下?我的想法是创建另一个文件并将它们导入到视图中。并将它们传递给渲染函数 - 这可能不是正确的 Django 方式,但有点卡在那里。哦,我不使用任何数据库,脚本使用文本文件并写入它。
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

由于您将脚本包含在视图中,因此假设:

  1. 您的 JSON 文件不会经常更改

  2. 如果您的 Django 应用程序生成多次(例如,如果您使用 uwsgi 或 gunicorn),则有多个请求不是问题

如果是这种情况,任何 Pythonic 解决方案都可以。

如果 1 不适用,您可能应该实现自己的中间件,根据要求,

  1. 获取过期的 JSON 文件(例如,如果最后一次获取发生在很久以前)

  2. 在请求中添加 JSON 文件内容:这样您就不必透露保存 JSON 文件的位置

如果您有多个实例,您可以或多或少地执行与 1 相同的操作,但您可能决定将 JSON 值与其过期时间一起存储在单独的存储中。你也可以配置 uwsgi/guincorn 在启动时获取 JSON 文件:这样你就不会在启动时多次获取 JSON 文件。然后,您的中间件将在必要时进行工作以使其保持最新状态。


查看完整回答
反对 回复 2021-09-28
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

services在我的 Django 应用程序中放置一个文件夹,并为每个非 django 内容添加一个文件夹。但这基本上只是为了方便,Django 并没有在这里对你进行限制。


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信