Django 通过session向模板传参
Django 通过session向模板传参
views.py 视图函数
def login(request):
if request.method == 'GET':
return render(request, 'login.html')
# 获取前端提交的数据
ipt_username = request.POST.get('username')
ipt_password = request.POST.get('password')
# 使用自带认证接口authenticate()
request_user = authenticate(request, username=ipt_username, password=ipt_password)
# 认证失败,返回登录页面,继续登录
if not request_user:
return render(request, 'login.html')
# 认证成功,用户登录,并保存登录状态
_login(request, request_user)
try:
# 验证用户是否手机认证
UseContact.objects.get(user=request_user)
request.session['request_user'] = request_user .username
return redirect('/master/index/')
except Exception:
return render(request, 'auth_phone.html', {'request_user': request_user})
template/index.html 模板渲染
{% extends 'base.html' %}
{% load static %}
{% block content %}
<div>用户名</div>
<div>{{ request.session.request_user }}</div>
<!--前端/模板获取session-->
{% endblock content %}