ImportError:无法导入名称URL

德里克

我正在将Django应用程序从v1.3升级到1.11.18。我们正在运行Python v2.7.12,并正在运行Nginx服务器来提供页面。

我一直在进行代码更改,以解决升级后所有不推荐使用的方法。到现在为止还挺好。再次运行更新后,启动服务器后,我遇到了以下错误通知:

File "/home/bat/application.com/wsgi.py", line 12, in <module>
   application = get_wsgi_application()
File "./django/core/wsgi.py", line 14, in get_wsgi_application
   return WSGIHandler()
File "./django/core/handlers/wsgi.py", line 151, in __init__
   self.load_middleware()
File "./django/core/handlers/base.py", line 56, in load_middleware
   mw_class = import_string(middleware_path)
File "./django/utils/module_loading.py", line 20, in import_string
   module = import_module(module_path)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
   __import__(name)
File "./django/middleware/locale.py", line 4, in <module>
   from django.conf.urls.i18n import is_language_prefix_patterns_used
File "./django/conf/urls/i18n.py", line 2, in <module>
   from django.conf.urls import url
ImportError: cannot import name url

我不确定为什么会出现此错误,因为所引用的代码是所有核心代码。除了开始行以外,它似乎根本没有引用任何项目代码。

我仔细检查了一下,以确保我们在核心django文件夹中没有任何“遗留”代码:这很干净。我们还重新启动了Linux服务器,只是为了踢:这也无济于事。除此之外,我不确定自己还能尝试什么?

有什么想法可以寻找解决方案吗?

德里克

因此,事实证明该./django/conf/urls/__init__.py文件实际上正在缺少所需的def url()功能。我不确定之前没有人注意到它,因为核心代码显然url在各处都调用了该函数。

为了解决该问题,我下载了Django v1.10.x并将该def url(...)功能从v1.10.x代码复制django/conf/urls/__init__.py文件中,并且一切正常。

我确实意识到我已经修改了一个核心文件,但是我不确定如何解决该问题。Django的1.x分支未处于积极开发中,因此我认为这可能还可以。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章