在Django应用程序中单页登录

时间:2013-04-25 01:35:55

标签: django login single-page-application

我目前正在使用开箱即用的django.contrib.auth来处理我的Django应用中的身份验证。这意味着用户从登录页面开始,并在成功登录时重定向到应用程序。我想让我的应用程序单页,包括此登录过程,其中不会发生重定向,但可能是“热门”模板切换或某些花哨的客户端div魔术(that still remains secure)。我的Google searching非常简短,closest solution处理每个页面上的登录表单。

这里的任何方向或想法都将非常感激。如果可能的话,我显然更愿意在django.contrib.auth的现有范围内工作,但我对所有解决方案持开放态度。

2 个答案:

答案 0 :(得分:2)

我不确定我完全理解你的问题。我想你想要一个页面。如果是这样,请在模板中放置逻辑,以检查用户是否已通过身份验证。如果没有,请显示POSTS到相应django.contrib.auth视图的登录表单。您可以为此视图提供参数,以使其重定向回您的页面。当您回来时,将对用户进行身份验证,因此您不会显示登录表单。

答案 1 :(得分:1)

看看Django-Easy-Pjax https://pypi.python.org/pypi/django-easy-pjax - 它就像一个魅力,并且有很好的记录。您喜欢的一切都是使用AJAX请求制作的:链接,使用GET的表单和使用POST的表单。

基本上,您只需在data-pjax="#id_of_the_container_where_the_result_goes"a标记中添加form属性即可。 关于它的好处:它更新浏览器的标题和位置栏。

一个警告:如果您想以某种形式上传文件,Easy-Pjax不支持此功能,因此您可能需要使用一些解决方法jQuery库。

相关问题