python - Django:将 .py 文件移动到文件夹中进行整理
问题描述
我有一个 Django 项目,我认为整理一下并将所有.py
文件放入一个文件夹中会很好。
我的目录结构最初是相当简单的:
[site]
├── [mysite]
│ ├── __init__.py
│ ├── admin.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
└── manage.py
现在我已经将所有这些.py
文件都__init__.py
移到了文件夹py
中。
[site]
├── [mysite]
│ ├── __init__.py
│ └── [py]
│ ├── admin.py
│ ├── settings.py
│ ├── urls.py
│ ├── views.py
│ └── wsgi.py
└── manage.py
为了确保这将起作用,我检查了所有对文件的引用并将其更改为新位置。例如在manage.py
我改变了:
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
至
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.py.settings")
我对所有我能找到的参考资料都这样做了。但是我现在面临的问题admin.py
似乎没有在任何地方被引用或导入,当我现在对其进行更改时,它不会导致我的测试服务器重新启动,因此它显然与项目断开了连接。
有没有办法将 Django 指向新的位置admin.py
?settings.py
是否有一些我缺少的参数可以放入?
编辑:我在下面发布了我自己的答案,但如果你有更好的答案,请添加它。
解决方案
我想出了一个这样做的方法,尽管这不是我理想的解决方案。
我在这个问题的公认答案中找到了一些灵感: Splitting "admin.py" of a Django project?
它说该admin.py
文件可以用一个admin
文件夹替换,然后在其中您可以放置一个__init__.py
文件,其中包含所有管理文件的导入语句。
所以我这样做了,但只是把我的导入声明如下:
from mysite.py import admin
这样我就可以将文件与问题中提到的所有其他文件一起保存在文件夹中admin.py
。py
但是,正如我所提到的,这对我来说并不理想,因为它仍然意味着拥有额外的admin
文件夹,我宁愿找到其他更简单的方法来做到这一点,但我还没有找到。如果您有更好的答案,请发布它。
推荐阅读
- pci-e - 如果 PCIe 读/写带宽溢出给定的 PCIe 规范怎么办
- jsf - 尝试使用 JSF、Primefaces 3.5 和 Glassfish 3.1.2.2 呈现视图 ShoppingCart.xhtml 时出现 java.lang.NullPointerException
- asp.net-mvc - 数据关联 - 类不检索关联类的数据
- bit - 当移位操作中有 NOT (~) 时会发生什么
- javascript - 如何在javascript映射函数中创建累积变量
- mysql - 出现错误 3780;创建外键约束时
- logrotate - Logrotate 丢失原始日志数据
- audio - “模型逐帧生成视频”是什么意思?
- php - 如何将 1 个(或几个)文件从父文件夹复制到所有子文件夹
- node.js - 模块“http”没有默认导出。在使用打字稿和节点时