用于将值加载到表中的 Django 启动脚本

Django Startup script for loading values into tables

数据库中有 6 个表,其中 3 个表每次都会有相同的值,就像静态值一样,当我们执行 python manage.py runserver 时,这些值需要加载到表中。 这将是什么方法我需要有一个脚本吗 任何帮助将不胜感激。

谢谢。

我会将它们加载到 CONTEXT_PROCESSOR 中,以便它们在所有模板中都可用。

如果您需要它作为全局变量使用,只需将它们加载到您导入到您需要它的 views.py 文件中的自定义 script.py 文件中。

编辑:

您还应该考虑缓存数据库中的结果并保存在 SESSION 中或查看 运行 memcached,如果该站点可以看到大量流量。

如果您有一些表每次都具有相同的值(静态值)。
您可以编写自己的 [fixture][1] 来定义我们要存储到这些表中的所有值。
您可以在 app 文件夹中创建名称为 fixtures 的目录。 目录示例:

|- my_app
|    |- fixtures
|           |- static_content.json

static_content.json 可以看起来像

[
  {
    "model": "myapp.model1",
    "pk": 1,
    "fields": {
      "first_name": "test",
      "last_name": "Test_last"
    }
  },
  {
    "model": "myapp.model2",
    "pk": 1,
    "fields": {
      "age": "21",
      "email": "foo@foo.com"
    }
  }
]

python manage.py runserver 启动服务器之前,我们可以使用以下命令将灯具加载到数据库中。

python manage.py loaddata <fixturename>
Ex.   python manage.py loaddata my_app/static_content.json

以上命令将用作启动脚本,用于将值加载到数据库表中。