用于将值加载到表中的 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
以上命令将用作启动脚本,用于将值加载到数据库表中。
数据库中有 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
以上命令将用作启动脚本,用于将值加载到数据库表中。