Django Rest框架视图和前端的常规Django视图

Django Rest框架视图和前端的常规Django视图,django,rest,django-rest-framework,Django,Rest,Django Rest Framework,我正在开发一个后端应用程序,它也将被移动应用程序使用 因此,我选择使用DRF创建RESTAPI 现在我正在决定如何使用我的前端。我真的不想使用任何javascript框架,我想继续使用Django 我发现我可以使用DRF()呈现HTML模板和表单 不过,我希望坚持使用常规的基于Django函数的视图,开发应用程序,并简单地使用DRF公开restapi,移动开发人员可以使用它 这是一个好的编程实践吗?如果不是,这种方法的缺点是什么。首先,你应该问问自己为什么要使用React之类的东西,因为尽管它很

我正在开发一个后端应用程序,它也将被移动应用程序使用

因此,我选择使用DRF创建RESTAPI

现在我正在决定如何使用我的前端。我真的不想使用任何javascript框架,我想继续使用Django

我发现我可以使用DRF()呈现HTML模板和表单

不过,我希望坚持使用常规的基于Django函数的视图,开发应用程序,并简单地使用DRF公开restapi,移动开发人员可以使用它


这是一个好的编程实践吗?如果不是,这种方法的缺点是什么。

首先,你应该问问自己为什么要使用React之类的东西,因为尽管它很流行,但它的使用是有原因的,比如组件重用、双向绑定等。如果你做的事情不大,这不是一个坏主意,尤其是如果你是好的DRF

react的问题是有很多人在使用它,如果你陷入困境,你可能会在互联网上找到更多的帮助,尽管记住一开始这很难


想想你的应用程序需要什么,记住每个框架都是有效的,它有优点和缺点

我认为在某些情况下,只有有效的答案,或者像这样的问题的主观答案。我认为,如果在Django中呈现所有HTML,并且没有Javascript框架,那么基本上就没有前端,这在某种程度上也是正确的。当然,客户端仍然使用浏览器呈现HTML,但您不必编写或调试它

这是一个好的编程实践吗

当然,它肯定已经过时了,但它已经用于许多任务。如果您的用例需要较低的客户端数量和处理负载,并且导航开关/页面重新加载/数据更新很少,那么后端everything设计在某些情况下会感觉非常快速-浏览器不必做任何工作或加载任何js库。可能您主要是在显示很少更新的数据,或者在大表单中收集大量数据。在我的工作中,我们在很多服务中都使用这种策略,因为我们拥有所有的计算机,而且需要支持的员工不到几百人——我们可以更努力地使用我们付费购买的服务器,减少我们也付费购买的笔记本电脑(因为用户往往会意外地将咖啡洒在速度较慢的计算机上,并要求使用速度更快的新计算机)

但是,如果这是一般的web使用,您可能会发现许多用户希望能够在不重新加载的情况下输入/检索数据,并且重新加载的体验会比发布数据和抛出预加载微调器来分散用户的注意力要慢。服务器上更多用户的容量可能会成为一个问题

您还只需要支持一个代码库(不管怎样,对于API和web),可以在两种语言和框架之间切换的语言和框架更少

如果没有,这种方法的缺点是什么

  • 在每次导航/加载之间重新加载
  • 服务器上的处理负载—大量用户或繁重的计算可能会变得昂贵
  • 页面失去了标准web用户所期望的“交互”感觉
  • 提交支持你的移动应用程序的API和你的Web前端变得耦合(一些亲单人版的粉丝可能会认为这是一个积极的)。有些人可能会警告不要耦合前端和后端代码,但我认为Django可以让您保持足够整洁,只要您注意不要在视图中写入任何愚蠢的内容
  • 不管怎样,你正在为你的移动应用程序制作一个API,你可以通过它来路由所有数据访问,以减少重复、不一致、bug等
  • 您可能希望制作更好的组件,或者使用现有的组件库,如果没有js前端,这将是一件痛苦的事情
  • 在将来,如果不通过API进行抽象(可以更容易地进行版本控制),您可能会遇到更多关于更改模型和视图耦合的问题
  • 根据您的数据、更新、布局等,您可能会失去更有效缓存的容量
  • 希望这会给你一些思考的东西-就像我说的,我不认为这里有正确的答案-这取决于你的用例,我无疑会错过其他人可能提出的一些观点。老实说,我个人更倾向于使用js前端


    祝你的项目好运:)

    无论你做什么,主要的问题都是做什么,所以问问自己兔子洞有多深)