我想在我的Django网站上算一下。我使用全局变量testc来计算(我知道这导致了问题,但我不知道如何在没有全局变量的情况下进行计数)。因此,如果两个浏览器同时打开网站(threadtest.html),它们都会增加相同的testc(当然)。有没有办法在每个浏览器会话中单独计数?我需要使用多线程吗?感谢。
以下是我的观点:
testc=0
def threadtest(request):
global testc
if request.method == 'POST':
testc=testc+1
print testc
return render(request,'threadtest.html',{'count':testc,})
这是模板: base.html文件
{% load staticfiles %}
{% load static %}
{% load extra_tags %}
<html>
<head>
<title>{% block title %}{% endblock %}</title>
{%block myscripts %}{% endblock %}
</head>
<body>
<div id="content">
{% block content %}{% endblock %}
</div>
</body>
</html>
threadtest.html
{% extends 'base.html' %}
<html>
<head><title></title></head>
<body>
{% block content %}
<h1> Current count is </h1>
<h1> {{count}} </h1>
<form action="/threadtest/" method="post">{% csrf_token %}
<input type= "submit" name = "button" value = "addit" />
</form>
{% endblock %}
</body>
</html>
答案 0 :(得分:1)
您可以从以下网址获取该信息:
request.META['HTTP_USER_AGENT']
某些输出将是例如:
Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.70 Safari/537.36
也许您可以找到有用的snippet