Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Django中预加载Python库?_Python_Django_Django Admin_Django Views_Libraries - Fatal编程技术网

如何在Django中预加载Python库?

如何在Django中预加载Python库?,python,django,django-admin,django-views,libraries,Python,Django,Django Admin,Django Views,Libraries,在我的一个Django应用程序中,我在views.py中有如下代码: import myLib resultOne = myLib.myFunction('Some data') resultTwo = myLib.myFunction('Some more data') resultThree = myLib.myFunction('Even more data') 每当我访问该页面时,加载都需要很长的时间。原因是myLib占用大量内存,每次加载页面时都会加载。我知道resultTwo和r

在我的一个Django应用程序中,我在views.py中有如下代码:

import myLib

resultOne = myLib.myFunction('Some data')
resultTwo = myLib.myFunction('Some more data')
resultThree = myLib.myFunction('Even more data')
每当我访问该页面时,加载都需要很长的时间。原因是
myLib
占用大量内存,每次加载页面时都会加载。我知道
resultTwo
resultThree
将在执行
resulttone
后快速执行

我想在Django中预加载
myLib
,以便它存储在内存中,因此
resultOne
resultTwo
resultThree
都会快速执行。我该怎么做

编辑:
这可能属于缓存的范畴。
resulttone
resultTwo
resultThree
的输入每次都会更改,并且经常运行。

如果加载/处理数据需要时间,您应该查看Django,它用于在一个单独的进程中存储常用数据。

如果加载/处理数据需要时间,您应该查看Django,它用于在一个单独的进程中存储常用数据。

在Django中,您可以在
\uu init\uuuuuuuuuuuuuuupy
中导入它,并将其作为变量访问。

在Django中,您可以在
\uuuu init\uuuuuy.py中导入它,并将其作为变量访问。

您需要多久执行一次ResultTone、resultTwo和resultThree?非常频繁。假设每次加载页面时都需要执行它们,库导入不是问题所在。它在第一页加载期间执行一次。在调用
myFunction
时,时间被消耗殆尽,因此您应该检查该代码。我不确定库导入是否有问题。但是,我认为问题不在于
myFunction
。请记住,
resultTwo
resultThree
快速执行。我之所以知道这一点,是因为我将打印语句放在了所有语句之间,虽然它们都需要30秒的时间才能显示,但它们同时显示。您一直没有提到快速执行的结果,
resulttone
是慢的吗?您需要多久执行一次resulttone,resultTwo,结果三次?经常。假设每次加载页面时都需要执行它们,库导入不是问题所在。它在第一页加载期间执行一次。在调用
myFunction
时,时间被消耗殆尽,因此您应该检查该代码。我不确定库导入是否有问题。但是,我认为问题不在于
myFunction
。请记住,
resultTwo
resultThree
快速执行。我之所以知道这一点,是因为我将打印语句放在了所有语句之间,虽然它们都需要30秒的时间才能显示出来,但它们同时显示出来。您一直没有提到快速执行的结果-是
resultOne
慢吗?我一直在看,但是,我仍然找不到关于如何缓存库的任何信息。
resulttone
resultTwo
resultThree
所使用的数据总是会发生变化。我一直在查看它,但是我仍然找不到有关如何缓存库的任何信息。
resulttone
resultTwo
resultThree
获取的数据始终会更改。