在 Django 中增加会话变量值
Incresing session variable value in django
每次用户访问网页时我都会创建一个令牌,
Token End 有一个 3 位数的计数器,每次用户刷新页面时计数器应该递增,但我无法想象它 out.How 第一次初始化会话变量并在会话的其余部分递增。
Views.py
def home(request):
request.session['num'] = 1
request.session['num'] += 1
res = ''.join(random.choices(string.ascii_uppercase + string.digits,k=10 ))
res1 = ''.join(res+str(request.session['num'] ).zfill(3))
request.session['tk'] = res1
return render(request,'home.html',{'res':res1})
home.html
{% block content %}
<h1>Token Generation </h1>
<form action="{% url 'send' %}" method="POST">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputPassword1">Token : </label>
<label for="exampleInputPassword1" name="res12">{{res}}</label>
</div>
<button type="submit" class="btn btn-primary">Send</button>
</form>
{% endblock content %}
谁能帮帮我。
在增加它的值之前检查 num
是否在 request.session
中
def home(request):
...
num = request.session.get('num')
if num is None:
request.session['num'] = 1
else:
request.session['num'] +=1
return render(request, 'home.html', {'num': num})
您也可以使用 try...except
来实现相同的目标,而且它更像 pythonic
def home(request):
try:
request.session['num'] +=1
except KeyError:
request.session['num'] = 1
return render(request, 'home.html', {'num': request.session['num']})
每次用户访问网页时我都会创建一个令牌, Token End 有一个 3 位数的计数器,每次用户刷新页面时计数器应该递增,但我无法想象它 out.How 第一次初始化会话变量并在会话的其余部分递增。
Views.py
def home(request):
request.session['num'] = 1
request.session['num'] += 1
res = ''.join(random.choices(string.ascii_uppercase + string.digits,k=10 ))
res1 = ''.join(res+str(request.session['num'] ).zfill(3))
request.session['tk'] = res1
return render(request,'home.html',{'res':res1})
home.html
{% block content %}
<h1>Token Generation </h1>
<form action="{% url 'send' %}" method="POST">
{% csrf_token %}
<div class="form-group">
<label for="exampleInputPassword1">Token : </label>
<label for="exampleInputPassword1" name="res12">{{res}}</label>
</div>
<button type="submit" class="btn btn-primary">Send</button>
</form>
{% endblock content %}
谁能帮帮我。
在增加它的值之前检查 num
是否在 request.session
中
def home(request):
...
num = request.session.get('num')
if num is None:
request.session['num'] = 1
else:
request.session['num'] +=1
return render(request, 'home.html', {'num': num})
您也可以使用 try...except
来实现相同的目标,而且它更像 pythonic
def home(request):
try:
request.session['num'] +=1
except KeyError:
request.session['num'] = 1
return render(request, 'home.html', {'num': request.session['num']})