从文件到Python字典Django的应用程序加载数据,处理它,将其作为HTTP响应。 现在说Web服务器上接收到的请求n个那么这个Django应用程序将运行n
从文件到Python字典倍和加载数据n
倍。 我想知道如果不知何故,我可以使这个数据被加载到字典只有一次,而n
HTTP响应可以提供服务。
一个例子view.py
可以作为应遵循的问题情境文件:
from django.http import HttpResponse
from django.http import HttpRequest
def hello(request):
data = open("abc").readlines()
return HttpResponse(data[0])
这是一个工作Django的中间件 。 将它添加到您的设置,它会在你的要求仍然存在。 它是一种更好的选择,那么持久性和绝对一定比用一个全局对象更好。
中间件是钩的框架成Django的请求/响应的处理。 这是一个光,低级别的“插件”为全局改变Django的输入和/或输出系统。 每个中间件组件负责做一些特定的功能。 例如,Django的包括中间件组件,XViewMiddleware,即增加了一个“X-视图” HTTP标头到HEAD请求每个响应。
绑定字典全局名称将使其持续只要Django项目运行。 请注意,每个Django的过程(一些WSGI容器,如mod_wsgi的,可以运行一个应用程序的多个进程)将有字典自己独立的副本。
如果数据是相关的用户,可以使用djanog的会话框架 ,以跨请求持久化数据。 如果需要对数据进行大量的用户之间共享,则可以使用缓存 。