【问题标题】:Design Decision Django Rest Framework - Django as Frontend设计决策 Django Rest 框架 - Django 作为前端
【发布时间】:2018-07-21 16:35:47
【问题描述】:

我目前正在开发我的第一个更复杂的 Web 应用程序,并希望向更有经验的开发人员寻求指导。

首先我想解释一下最重要的要求。

我想开发一个 Web 应用程序(没有移动应用程序或桌面应用程序)并希望尽可能多地使用 django。因为我现在对生态系统很满意,没有太多时间来学习太复杂的新东西。我对 Javascript 世界没有经验,但我可以做一点 jQuery。

我们的想法是拥有一个数据库和许多不同的前端,这些前端具有不同的品牌,并具有不同的用户和管理员。所以我目前的方法是使用 Django 开发一个后端,并使用 Django Rest Framework 通过 REST 将特定数据提供给前端。因为我没有太多时间学习前端框架,所以我想使用另一个 Django 实例作为前端,因为我真的很喜欢 Django 模板语言。这意味着一个 Django 实例一个前端,其中主要是 TemplateViews。前端将在不同的子域上提供服务,而后端则在顶级域上公开 API 端点。

没有必要拥有单页应用程序。一个以正常请求/响应周期为主的正常网站就可以了。

您认为这是一种可行的方法吗?我目前正在考虑如何以最佳方式使用前端站点中的数据。由于我熟悉 Django 模板语言,因此我考虑编写一个中间件,在后端的每个请求周期中询问用户详细信息。想法是在从后端获取数据时尽可能正常地使用 request.user。

还是通过 jQuery 和 Ajax Calls 询问这些细节并且不要使用 django 模板语言更好?

也许还有一种方法可以在不使用 REST 的情况下为同一个数据库制作不同的前端?

或者你认为在每个前端都使用一个数据库,每次我在后端的主数据库中进行更改时都会更改?虽然我不太喜欢这种方法,因为如果我犯了错误可能会导致数据差异。

希望这不会让您感到困惑。如果有问题,我会很高兴地回答。也许我也完全走错了路。也请不要犹豫指出这一点。

非常感谢您的指导,并祝您有美好的一天。

【问题讨论】:

    标签: python jquery django django-rest-framework


    【解决方案1】:

    根据我的经验和知识,您几乎正朝着正确的方向前进。 我的建议是让后端 rest api Django 和 django rest 框架是最好的选择,但是对于使用这些 api,你可以寻找 angular 或 react 两者在使用 API 方面都非常有效。

    【讨论】:

      【解决方案2】:

      感谢您对 tripathi 的意见。

      我认为使用现代 js 框架来使用 REST API 确实很有意义。

      我进一步研究了我的问题,发现多租户完全符合我的要求。该用例也有很棒的插件和很好的读物。只是为了其他人,我偶然发现了一些信息:

      https://djangopackages.org/grids/g/multi-tenancy/

      https://www.vinta.com.br/blog/2017/multitenancy-juggling-customer-data-django/

      特别是第二个链接为我提供了有关不同设计方法的信息。对于我自己,我选择为每个客户使用一个数据库,然后使用 django 的站点框架来分离数据。对于子域解析,我使用 django-hosts。

      再次感谢您,祝您有美好的一天。

      【讨论】:

        猜你喜欢
        • 2021-09-11
        • 2019-01-30
        • 1970-01-01
        • 2013-04-07
        • 2014-03-17
        • 1970-01-01
        • 2016-07-20
        • 2021-12-15
        • 1970-01-01
        相关资源
        最近更新 更多