Django从文件导入变量

时间:2014-08-15 02:11:12

标签: python django variables django-import-export

我想创建一个新的.py文件,我想存储一些会不断变化的特定变量

例如在variables.py

var1 = 5
var2 = 10
var3 = "Hello"

然后在views.py中只需从 myapp .variables import * 我想在所有只显示

的视图中使用它们
{{ var1 }}
{{ var2 }}

为什么它不起作用?

2 个答案:

答案 0 :(得分:0)

你只需要在上下文中传递它们:

from django.shortcuts import render
from myapp.variables import var1, var2, var3

def my_view(request):
    return render(request, 'myapp/index.html', {"var1":var1, "var2":var2, "var3":var3})

https://docs.djangoproject.com/en/1.6/topics/http/shortcuts/

答案 1 :(得分:0)

如果它们没有被视图使用,但仅用于渲染,则可以创建context_processor

在your_app / variables.py

def my_variables(request):
    return {
        "var1": True,
        "var2": "foo",
        "var3": 42,
    }

然后在您的settings.py设置

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    "django.contrib.messages.context_processors.messages",
    "your_app.variables.my_variables",
)

现在,您呈现的每个模板都可以使用这些变量。