首页  >  问答  >  正文

NextJS 使用 Django API - 如何选择最佳模式

我在数字海洋 Droplet 上运行 GeoDjango,并且正在将项目从 VueJs 重写为 Vercel 上托管的 NextJs。

在 Vue 中,我们有与存储相关的服务模式,负责获取和更新数据。

我发现获取部分非常好,但我仍在尝试找出更新数据的最佳方法。

我应该如何在不使用 NextJs API 文件夹的情况下构建 CRUD 层(我不想让另一个后端调用我的 Django 后端)。

我应该使用上下文吗?

我应该使用中间件吗?

我应该创建自定义服务吗?那怎么称呼他们呢? NextJs 中是否有相当于 store 的东西?

我这么问是因为我想避免混乱,因为现在我在页面上使用 fetch POST。我正在使用 NextAuth,它为我提供了带有 jwt 令牌的上下文。

感谢您的任何提示

P粉032977207P粉032977207282 天前367

全部回复(1)我来回复

  • P粉373596828

    P粉3735968282024-01-11 09:55:04

    对于 Next.js,您可以使用 重写以将请求代理到您的后端。这样您就可以从相对 URL 访问现有后端,就像它们位于 API 路由中一样。您可以为每个路由明确执行此操作,或者您可以使用增量采用模式,该模式将在将请求代理回 django 服务器之前检查 Next.js 应用程序中的现有路由。

    // next.config.js
    module.exports = {
      async rewrites() {
        return {
          fallback: [
            {
              source: '/api/:path*',
              destination: `https://your.django.app/api/:path*`,
            },
          ],
        }
      },
    }

    回复
    0
  • 取消回复