I am quite new to web development. Right now, when two users request the same page (for each, it calculates something for 2 seconds), it gives weird errors. Here is how my view looks like.
def mira_cacl(request):
if request.GET["ind"] == "None" and request.GET["div"] == "None":
return HttpResponse("Please, specify a division or an industry.")
elif request.GET["ind"] != "None" and request.GET["div"] != "None":
return HttpResponse("Please, specify a division OR an industry but not both.")
elif request.GET["ind"] != "None":
mira = Mira()
a = mira.get_shock_effects(request.GET["shock"], request.GET["ind"], "Industry")
else:
mira = Mira()
print(request.GET["div"])
a = mira.get_shock_effects(request.GET["shock"], request.GET["div"], "division")
context={"chains": a}
return render(request, 'manageDb/result.html', context)
When I request the same page on 2 devices simultaneously, they share the object a for some reason. It isn't a global object, isn't it?
Generally, how do you solve such problems in web development?
Also, how does django manage simultaneous requests internally? Does it use threads?
EDIT: mira.get_shock_effects(request.GET["shock"], request.GET["ind"], "Industry") returns a dictionary.
When I run it simultaneously, in both requests, a becomes the same for some reason.
Aucun commentaire:
Enregistrer un commentaire