如果端点返回成功,是否有办法将表单POST重定向到特定页面?
在我的特定情况下,我使用django-rest-auth来管理用户身份验证,登录端点(/ rest-auth / login /)返回带有响应的JSON。如果身份验证成功,我想将用户重定向到他的仪表板。
编辑:据我所知,REST api仅适用于后端。如果我想在任何表单发布后设置重定向,我必须找到一种方法,只有我的前端应用程序。我是对的吗?在这种情况下,Django是开发前端应用程序的不错选择吗? 我已经看过许多提到AngularJS的主题来构建前端。使用JS构建客户端应用程序是一个好主意(我的意思是,对于单页web api,没有后退导航可能性,我认为这不是一种友好的导航方式)?
如果我使用Django构建我的前端,我是否必须编写自己的视图,在此视图中调用后端休息端点,处理结果,并从此视图发送HTTPRequest(例如)?我真的不明白这种方法的好处在哪里。
答案 0 :(得分:1)
那么,回答你的问题不仅仅是一个解决方案。
您有两种方式:
一切都取决于您的需求。
答案 1 :(得分:1)
如果我想在任何表单发布后设置重定向,我必须找到一种方法,只有我的前端应用程序。我是对的吗?
是的,您需要在前端进行重定向。
在这种情况下,Django是开发前端应用程序的不错选择吗?
Django是一个用于构建Web服务器的框架,它与前端无关。
我的意思是,对于单页web api,没有后退导航的可能性,我认为这不是一种友好的导航方式)
有。例如,这是angularjs的ui-router。 Here是实际工作页面的示例。如您所见,url相应地更改,就像传统的服务器呈现的静态html页面一样。
当浏览器向您的服务器发送请求时,django会调用相应的视图函数来呈现视图,该视图只是一个html文件,并将其发送回浏览器。然后浏览器呈现页面。除此之外,django与html文件无关。浏览器的工作是解析html,并相应地进行渲染。
所以,要明确的是,django不适合前端。对于您的Web应用程序,您可以使用angularjs。但是,如果你真的不想写很多javascript代码,我建议看一下Polymer(polymer-project.org,哦,我的小声誉),它真的很容易使用。