在DB中有6个表3个每次都有相同的值,就像静态值一样,当我们执行python manage.py runserver时,这些值需要加载到表中。 对于这个方法,我需要有一个脚本 任何帮助将不胜感激。
感谢。
答案 0 :(得分:1)
我会将它们加载到CONTEXT_PROCESSOR中,以便它们在所有模板中都可用。
如果您需要它作为全局变量可用,只需将它们加载到您导入到您需要的views.py文件中的自定义script.py文件中。
编辑:
你还应该考虑从数据库中缓存结果,并保存在SESSION中,或者如果网站可以看到大量流量,则查看运行memcached。
答案 1 :(得分:0)
如果你有一些表每次都有相同的值(staic值)
您可以编写自己的[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
上面的命令将作为启动脚本,用于将值加载到db表中。