Skip to main content
 首页 » 编程设计

python之django,身份验证后重定向到ajax操作

2025年05月04日26txw1958

我有一张图片的链接,如果用户登录了一个 ajax 可以很容易地进行投票。但是,如果用户未登录,我确保首先对用户进行身份验证。

实现在模板中完成如下-

{% if not user.is_authenticated %} 
<a href="/accounts/login/">Get Started</a> 
{% else %} 
<a href="my-ajax-url"> Like </a> 
{% endif %} 

这里的问题是如果用户没有登录,我想让他先登录,然后执行 ajax 操作。类似于 next 的内容 帮助做。所以流程应该是,如果用户没有登录,他会被带到登录 url,然后 ajax Action 会自动发生。

一个相反的实现方式是,实现一个 ajax_login_decorator ,这可以作为 here 完成.使用第二种方法,流程类似于:

1. The user clicks on the action button. 
2. the request goes to the server, if he is not authenticated, a response is sent to client. 
3. He is made to login/signup. 
4. Then once he logs in, he has to click on the action button again.  

相反,更好的方法可能是,让他先登录,然后类似于 next 的东西可以执行 ajax 操作。所以问题归结为这个简单的事情 -

如何用一些 next 调用一个 Ajaxy URL参数,在用户通过身份验证后。

请您参考如下方法:

如何在第 2 步中将操作存储在(匿名) session 中,一旦他登录,您就从服务器端触发操作?您根本不需要进行 AJAX 调用。