django - 从一个文件调用另一个文件的函数

1 投票
2 回答
2425 浏览
提问于 2025-04-16 11:19

我想在我的很多 Django 视图中重复使用一些我创建的函数,这样就不用在每个视图中反复写这些函数了。

所以我创建了一个文件夹,并在里面放了一个 __init__.py 文件。在同一个文件夹里,我还创建了一个 myfunctions.py 文件,把我想在 Django 视图中重复使用的函数放在里面。

这里有一个我在 myfunctions.py 中放的非常简单的测试函数,我想看看能否在我的视图中重复使用这个函数,特别是能否使用这个函数里的变量:

def test_function():
    test_variable = 1

我想在一个视图中调用 test_function(),并把这个函数里的变量值(在这个例子中是 1)传递到我创建的模板里。这个视图的模板里已经有一个标签 {{ test_valiable }}

我的问题是,当我在视图中调用 test_function() 时,模板中的 {{ test_valiable }} 标签没有显示出 test_variable 的值。

我在视图中调用函数的方式是:

test_function()

我哪里做错了呢?

2 个回答

1

你的问题不太清楚。

我觉得你可能需要使用模板标签或者上下文处理器,这要根据具体情况来决定。

3

test_variable 是一个局部变量,所以在函数执行完后你就看不到它了。

你应该把你的函数改成这样:

def test_function():
    test_variable = 1
    return test_variable

然后在 views.py 文件中使用它。

def View(request):
   result = test_function()
   return render_to_response('template', {'test_valiable' : result })

撰写回答