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

发布于 2024-10-15 20:22:20 字数 704 浏览 0 评论 0原文

我想继续重用我在许多 django 视图上创建的一些函数,这样我就不必在每个视图上一遍又一遍地编写它们。

所以我创建了一个文件夹,其中包含 __init__.py 。在同一文件夹中,我还创建了一个 myfunctions.py 文件,其中放置了我想在 django 视图上重用的函数。

这只是一个非常简单的测试函数,我放入 myfunctions.py 中,看看是否可以重用该函数,特别是在我的视图中该函数中的变量:

def test_function():
    test_variable = 1

我想只调用 test_function() 在视图上,并在我创建的模板上传递 test_variable 值(在本例中为 1)。剧院视图的模板已经有一个标签 {{ test_valiable }}

我的问题是,当我在视图上调用 test_function() 时,我看不到传递给 {{ test_valiable }}test_variable 值与我的视图关联的模板中的 > 标记。

在我看来,我调用该函数的方式是:

test_function()

我哪里做得不对?

I would like keep reusing some functions I've created on many of my django views so I don't have to write them over and over on every view.

So I created a folder with a __init__.py in it. In the same folder I also created a myfunctions.py file where I placed my functions I would like to reuse on my django views.

Here is just a very simple test function I put in myfunctions.py to see if if I can reuse the function and especially the variable from that function in my views:

def test_function():
    test_variable = 1

I would like to just call the test_function() on a view and to deliver the test_variable value (of 1 in this case) on a template I created. The template for theat view has already a tag {{ test_valiable }}.

My problem is that when I call the test_function() on my view I don't see the test_variable value passed to the {{ test_valiable }} tag in the template associated with my view.

The way I called the function in my view is:

test_function()

What am I not doing right?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

平生欢 2024-10-22 20:22:20

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 })

test_variable is a local variable so you cant see it after function finished.
You should rewrite your function to this:

def test_function():
    test_variable = 1
    return test_variable

And use it in a views.py

def View(request):
   result = test_function()
   return render_to_response('template', {'test_valiable' : result })
帥小哥 2024-10-22 20:22:20

你的问题不是很清楚。

我认为您必须根据具体情况使用模板标签或上下文处理器。

Your question is not very clear.

I think you must use templatetags or contextprocessors as the specific case may be.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文