1

今天我决定将我的项目从 Django 1.11 升级到 2.2.1。我一直在解决我的项目的各种问题,我正在努力解决这些问题。但是,我今晚大部分时间都在尝试使 URL 正常工作,但他们不会合作。长话短说,我的项目中有多个应用程序,每个应用程序都有一个带有自己命名空间的 URL。在 Django 1.11 中,这工作正常。但是,当我尝试将逻辑移植到 Django 2.2.1 时,我不断收到错误消息,说我可能在某处进行了循环导入。

这是在 Django 1.11 中运行良好的片段......

我的主要项目...在 Django 1.11 中

url(r'^Main/',include('AppA.urls',namespace="AppA")),

但是当我尝试在 Django 2.2.1 中执行此操作时......

我意识到 URL 被路径替换了......

path('', include('AppA.urls')),

但是当我尝试启动我的应用程序时,它说....

your project does not appear to have any patterns in it. If you see valid p
atterns in the file then the issue is probably caused by a circular import.

我似乎无法弄清楚如何创建在 django 1.11 中工作的命名空间,以便我可以在模板中正确引用我的 url。

我晚上大部分时间都在盯着它看,这可能就是我看不到它的原因……我还查看了 Django 文档…… https://docs.djangoproject.com/en/2.2/topics /http/urls/ 我只是看不出我做错了什么。提前感谢您帮助我重回正轨。

4

2 回答 2

2

正如 Bloodmallet 向我指出的那样……

我需要补充......

app_name = 'Appa'

到我的 urls.py 文件的顶部。完成此操作后,路径 URL 按预期工作。

于 2019-05-03T14:41:24.007 回答
0

而不是path(),请考虑使用re_path()

from django.urls import include, re_path

re_path(r'^Main/',include('AppA.urls',namespace="AppA")),
于 2019-05-03T03:58:21.617 回答