VeN*_*ToR 0 forms django redirect
如何在重定向后从模板中的会话中检索数据.实际上可能吗?
这是我的代码:
View.py:
if request.POST:
user = request.POST.get('username')
passw = request.POST.get('password')
#password1 = ''
try:
userdata = Employee.objects.get(username = user, password = passw)
user_id = request.session["user_id"] = userdata.id
employee_details = Employee.objects.get(id=user_id)
request.session['emp_details'] = employee_details
return HttpResponseRedirect('/home/')
except Employee.DoesNotExist:
state = "Username or password incorrect !"
return render_to_response('login.html',
{'username' : username1,'state' : state},
context_instance = RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
模板:home.html
<body>
<p>
<ul>
<li><a href="">{{request.session.emp_details.emp_name}}</a></li>
</ul>
</p>
<p><a href="/logout/"><button>logout</button></a></p>
</body>
Run Code Online (Sandbox Code Playgroud)
谢谢
确保已将django.core.context_processors.request添加到模板上下文处理器.然后,您可以像在代码中一样访问会话变量.
您可能需要在视图中添加以下行
request.session.modified = True
Run Code Online (Sandbox Code Playgroud)
这取决于您是否拥有SESSION_SAVE_EVERY_REQUEST = True自己的设置.查看用于保存会话的文档.
最后,确保将RequestContext对象传递给render_to_response视图中的函数'/home/'.的RequestContext包括request在所述模板上下文对象(与模板使其accessable {{ request }}).
警告
虽然这可以帮助你让你的会话工作 - 我必须同意Daniel,你不应该像这样做用户身份验证.使用django自己的身份验证.
| 归档时间: |
|
| 查看次数: |
2544 次 |
| 最近记录: |