将 django-rest-framework 与常规 HTTP 应用程序相结合

Combining django-rest-framework with regular HTTP application

我正在修改一个应用程序,因为它会受益于 RESTful 后端。我觉得通过将其余 API 和常规 HTTP 组合到一个应用程序中,我不知何故走错了路。

这意味着他们共享 urls.py 和 views.py 并且正在竞争 url 并且东西会混淆(比如将 format_suffix_patterns 应用于所有 url)。

我希望得到意见(或确认),将其分为两个单独的应用程序是一个更好的计划。

旧计划

manage.py
/project
/combinedapp
    admin.py
    models.py
    urls.py       # both types of urls
    views.py      # both views

新计划

manage.py
/project
/restapp
    urls.py      # only the rest endpoints
    views.py     # api stuff: links to httpapp.models
/httpapp
    admin.py     # like a normal app
    models.py
    urls.py
    views.py

如您所知,我是新手,正在努力避免搬起石头砸自己的脚。

我决定按照新计划重构项目。这些是结果:

  • 这很容易做到:大约需要 15 分钟的时间来制作 新应用程序,移动一些文件并拆分为内容。
  • 提示:新应用是 其余 api。这样你就可以保留现有的 table 名称和 这样的。
  • 结果很好:明确分离了关注点和 url。

结论永远不要将 rest-api 与 HTTP 应用混合使用。

顺便说一句:这个问题的浏览量令人失望,没有 comments/responses。 Django 是否正在失去牵引力或特定于此问题的东西?