Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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
在Python中全局存储数据_Python_Django - Fatal编程技术网

在Python中全局存储数据

在Python中全局存储数据,python,django,Python,Django,这里是Django和Python新手。好的,我想制作一个网页,用户可以在其中输入1到10之间的数字。然后,我想显示一个与该数字对应的图像。每个数字都与图像文件名相关联,这10对数字存储在.txt文件的列表中 检索适当文件名的一种方法是创建一个NumToImage模型,该模型包含一个整数字段和一个字符串字段,并将所有10个NumToImage对象存储在SQL数据库中。然后,我可以检索任何查询编号的文件名。然而,对于存储一个简单的.txt文件来说,这似乎不是一个很好的解决方案,我知道这个文件不会改变

这里是Django和Python新手。好的,我想制作一个网页,用户可以在其中输入1到10之间的数字。然后,我想显示一个与该数字对应的图像。每个数字都与图像文件名相关联,这10对数字存储在.txt文件的列表中

检索适当文件名的一种方法是创建一个NumToImage模型,该模型包含一个整数字段和一个字符串字段,并将所有10个NumToImage对象存储在SQL数据库中。然后,我可以检索任何查询编号的文件名。然而,对于存储一个简单的.txt文件来说,这似乎不是一个很好的解决方案,我知道这个文件不会改变

那么,在Python中,不使用数据库的情况下如何实现这一点呢?我习惯C++,在那里我会创建一个字符串数组,每个数字一个,然后在应用程序启动时从.txt文件中加载这些字符串。然后,该向量将位于静态对象中,这样我就可以从应用程序中的任何位置访问它

如何在Python中完成类似的事情?我不知道如何实例化Python对象,然后使它能够从其他Python脚本访问。我能想到的唯一方法是将对象实例作为我调用的每个函数的参数传递,这太愚蠢了

这个问题的标准解决方案是什么


谢谢。

Python的方式非常类似:在模块级运行代码,并在模块名称空间中创建可由其他模块导入的对象

在您的情况下,它可能看起来像这样:

myimage.py

imagemap = {}
# Now read the (image_num, image_path) pairs from the 
# file one line at a time and do:
#     imagemap[image_num] = image_path
views.py

from myimage import imagemap

def my_view(image_num)
    image_path = imagemap[image_num]
    # do something with image_path

你不需要物品。您可以在主服务器文件中拥有全局引用(我建议您从flask开始,而不是django,尽管它非常简单)。