gpt4 book ai didi

django - 有没有办法将 Django 与 Next.js 集成?

转载 作者:行者123 更新时间:2023-12-03 21:20:42 27 4
gpt4 key购买 nike

我通过访问 build/index.html 的功能将 Reactjs 与 Django 集成在一起。 .下面的代码显示了我是如何做到的。

配置/urls.py

urlpatterns = [
...
re_path(r'search/', react_views.ReactAppView.as_view()),
]

PROJECT_NAME/views.py
class ReactAppView(View):

def get(self, request):
try:
with open(os.path.join(str(settings.BASE_DIR), 'frontend', 'build', 'index.html')) as file:
return HttpResponse(file.read())
except:
return HttpResponse(
"""
Build your React app.
""",
status=501,
)
ReactAppView函数访问 index.html这是用 yarn build 创建的在 react 方面。基本上,我只将 React 用于搜索 View ,除了搜索 View 之外,我还使用了 jQuery,因为它首先是用 jQuery 开发的。

自从我发现我需要 Next.js 在 React 中使用服务器端渲染 (SSR) 后,我一直在尝试将 React 应用程序迁移到 Next.js。但是,Next.js 没有 index.html .它只有 pages/index.js反而。

我非常努力地想弄清楚如何将 Django 与 Next.js 集成,但我找不到任何有用的资源。任何人都可以帮我解决这个问题吗?

最佳答案

您似乎想要提供静态文件(即 React 或 Next.js 包)。
Django 有一个关于如何做到这一点的指南(通过 django.contrib.staticfiles)
最简单的示例(直接来自文档)是:

  • 设置 STATIC_FILES文件夹:STATIC_URL = '/static/'
  • index.html在那里文件并将其引用为 /static/index.html .

  • 有关 staticfiles 的更多信息,请引用官方文档: https://docs.djangoproject.com/en/3.1/howto/static-files/
    在 Next.js 方面,您需要遵循 https://nextjs.org/docs/advanced-features/static-html-export 处的示例。或手动创建 index.html包括您正在使用的所有 next.js 包。

    关于django - 有没有办法将 Django 与 Next.js 集成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54252943/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com