gpt4 book ai didi

python - 如何导入名称不明确的特定模块?

转载 作者:太空宇宙 更新时间:2023-11-04 09:17:55 24 4
gpt4 key购买 nike

这发生在 Django 上下文中,但问题不是特定于 Django 的。

我正在尝试将我的大 urls.py 分成更小且更易于管理的 block (应用程序包括、第三方模块、搜索、管理、开发等)。因此,我现在使用的是 urls/ 目录,而不是 urls.pyurls/__init__.py 包含如下代码:

import admin
urlpatterns += admin.urlpatterns

现在我遇到了第三方模块的麻烦。例如,我为 django-messages 覆盖了一堆 URL 和 View ,因此我将它们全部放入 urls/messages.py。事实证明,那时我无法导入 django-messages 的 View ,因为

from messages.views import inbox

urls/messages.py 中尝试先从本地目录导入,找到一个 messages 模块,但无法导入 messages.views 那么,由于 urls/messages/views.py 显然不存在。我不想将我的模块重命名为类似 urls.messages_urls 的名称,但我还没有找到一种方法来明确告诉 Python 导入“其他”messages.views。我也不想通过字符串指定我导入的 View ,即使我可以在 Django 中这样做。

如何彻底解决这种情况?

最佳答案

这是错误的做法。

Django 有一种方法可以将urls.py 拆分成单独的文件,那就是使用include()。 .将每个应用程序的 url 保存在其自己的 urls.py 中,并将它们包含到主应用程序中。

关于python - 如何导入名称不明确的特定模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6626551/

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