【问题标题】:Django Rest Framework redirection after POST successPOST 成功后的 Django Rest Framework 重定向
【发布时间】:2016-12-27 02:59:51
【问题描述】:

如果端点返回成功,有没有办法将表单 POST 重定向到特定页面?

在我的具体情况下,我使用django-rest-auth 来管理用户身份验证,并且登录端点 (/rest-auth/login/) 会返回带有响应的 JSON。如果身份验证成功,我想将用户重定向到他的仪表板。

编辑:据我了解,REST api 仅用于后端。如果我想在任何表单发布后设置重定向,我必须找到一种仅使用我的前端应用程序的方法。我说的对吗?

在这种情况下,Django 是开发前端应用程序的好选择吗? 我见过许多提到 AngularJS 来构建前端的主题。用 JS 构建客户端应用程序是不是一个好主意(我的意思是,对于单页 web api,没有返回和下一个导航的可能性,我认为这不是一种友好的导航方式)?

如果我使用 Django 构建前端,我是否必须编写自己的视图,在此视图中调用后端 rest 端点,处理结果,并从该视图发送 HTTPRequest(例如)?我真的不明白这种方法的好处在哪里。

【问题讨论】:

    标签: redirect django-rest-framework django-rest-auth


    【解决方案1】:

    嗯,回答您的问题不能只是一种解决方案。

    你有两种方法:

    一切都取决于您的需求。

    【讨论】:

      【解决方案2】:

      如果我想在任何表单发布后设置重定向,我只能通过我的前端应用程序找到一种方法。我说的对吗?

      是的,您需要在前端进行重定向。

      在这种情况下,Django 是开发前端应用程序的好选择吗?

      Django 是一个构建 Web 服务器的框架,它与前端无关。

      我的意思是,对于单页 web api,没有返回和下一个导航的可能性,我认为这不是一种友好的导航方式)

      有。例如,这里是 angularjs 的 ui-routerHere 是实际工作页面的示例。如您所见,url 相应地发生变化,就像传统的服务器渲染的静态 html 页面一样。

      当浏览器向你的服务器发送请求时,django会调用相应的视图函数来渲染一个视图,该视图只是一个html文件,并将其发送回浏览器。然后浏览器呈现页面。除此之外,django 与 html 文件不再有任何关系。解析 html 并相应地呈现它是浏览器的工作。

      所以,需要明确的是,django 不适合前端。对于您的 Web 应用程序,您肯定可以使用 angularjs。但是,如果你真的不想写很多 javascript 代码,我建议你看看 Polymer(polymer-project.org,哦,我的小名声),它真的很容易使用。

      【讨论】:

        猜你喜欢
        • 2018-04-04
        • 2015-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-10
        • 2017-05-26
        • 2020-11-23
        • 1970-01-01
        相关资源
        最近更新 更多