Django 多个vs一个大型上下文处理器
我有多个Django 多个vs一个大型上下文处理器,django,performance,django-context,Django,Performance,Django Context,我有多个上下文处理器,每个处理器中我都必须请求用户。每一个都是这样的: def UploadForm(request): user = request.user Uplo = UploadForm(request.POST or None, initial={user}) return {'Uplo': Uplo} 我发现这样做效率不高,因为我多次请求用户,所以我考虑编写一个大型上下文处理器,一次定义所有表单 def AllForms(request): user = requ
上下文处理器
,每个处理器中我都必须请求用户。每一个都是这样的:
def UploadForm(request):
user = request.user
Uplo = UploadForm(request.POST or None, initial={user})
return {'Uplo': Uplo}
我发现这样做效率不高,因为我多次请求用户,所以我考虑编写一个大型上下文处理器,一次定义所有表单
def AllForms(request):
user = request.user
Uplo = UploadForm(request.POST or None, initial={user...})
SetForm = SetForm(request.POST or None, initial={user...})
...
return {'Uplo': Uplo,'SetForm': SetForm}
有人能告诉我我在这里有什么收获吗?上下文处理器的通用标准是什么?我在上面找不到任何东西。从请求中获取用户并不是一件大事。这是o(1)操作
但是,如果多个上下文处理器没有做不同的事情,并且可以一次完成,那么最好按照您的说法创建一个大的上下文处理器。原因是您必须在同一请求中多次进出函数
无论如何,如果您想要明确的差异,您可以在多个和多个上下文处理器中打印时间
是的,如果你每次都要访问数据库,你应该使用它们并优化访问数据库的次数。我不知道你为什么认为多次请求用户效率低下。@DanielRoseman在性能方面没有任何请求不好吗?我是一个初学者,可能对这样的事情投入了太多的精力,但是每次都会调用上下文处理器,所以我希望尽可能快地保留它们。