【问题标题】:Path conflict between server and client服务器和客户端路径冲突
【发布时间】:2021-02-15 10:55:27
【问题描述】:

我有一个在 http://localhost:3000/ 上运行的客户端 React 应用程序(Electron)

我的 Django 服务器在白名单中有这个路径:

CORS_ORIGIN_WHITELIST = [
    "http://localhost:3000"
]

问题是 Python 不允许我在路径末尾添加 /。 如果我像现在这样调用服务器,它将无法正常工作。

那么我可以强制 Django 接受我在结尾处带有 / 的网址吗?或者从我的 React 客户端更改它。

【问题讨论】:

  • 你能分享你的 url conf 吗?

标签: javascript python django electron


【解决方案1】:

你可以尝试几件事

1.自动添加斜杠

确保'django.middleware.common.CommonMiddleware'settings.py 的中间件中

此外,请确保将APPEND_SLASH = True 添加到您的设置中。

2。用斜线定义路线

在您的 URL conf 中,确保将尾部斜杠添加到路由的末尾。这样,您就不会看到错误。

3.使尾部斜杠可选

您可以通过定义这样的路由来添加尾部斜杠:

from django.urls import re_path
re_path(about/?$', views.appmain, name="main")

注意:问号匹配 URL 中的零个或一个 /。它同时接受localhost:8000/aboutlocalhost:8000/about/

【讨论】:

  • 我阅读了更多内容,我什至不知道它们是否应该相同。我做了一点改动,现在引用者是http://localhost:3000/login,同时来源是http://localhost:3000。我认为现在的起源应该足够了。无论如何,推荐人正在改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-31
  • 2020-12-09
  • 2016-08-05
  • 1970-01-01
  • 2015-12-16
  • 2021-01-12
  • 2022-06-25
相关资源
最近更新 更多