https://github.com/rtfd/readthedocs.org/tree/master/readthedocs/settings
我从https://code.djangoproject.com/wiki/SplitSettings到达上面的链接。你知道吗
有人能解释一下这种特殊的配置是如何工作的吗?
尤其是settings/__init__.py
所扮演的角色,只包含特定设置文件的名称(postgres.py公司在这种情况下)。
我试着对我的项目这样做,django抱怨没有找到合适的模块,那么readthedocs的工作情况如何呢?你知道吗
事实上他们做的很糟糕。
__init__py
在本例中是到postres.py
的符号链接。当您在github上打开它时,它只显示它所指向的文件,因为这就是symlinks在强制显示时的外观。这和自己创建一个文件并添加一行文件名是不一样的。你知道吗然而,实际上提交符号链接并不好,因为它们并不适用于所有操作系统。另外,这里的重点是允许您在postgres或sqlite3设置之间切换,但是如果您删除
__init__.py
并创建一个新的sqlite.py
符号链接,那么您实际上已经在那一点上更改了源代码(因为它是提交的),并且如果不恢复到原始的postgres.py
符号链接,您将无法提取新的更改。你知道吗但是,
__init__.py
必须存在,否则Python不会将其识别为模块。他们应该做的是:然后,在
local.py
创建一个符号链接,指向他们想要使用的任何数据库设置文件。那么,这个文件没有提交,也没有问题。你知道吗在本例中,
settings/__init__.py
不是有效的Python模块,因此它显然是settings/postgres.py
的符号链接。你知道吗wrt/
__init__.py
文件,它们是Python用来将文件夹视为Python包的标记(cfhttp://docs.python.org/tutorial/modules.html#packages)。这个__init__.py
文件是在import mypackage
时导入的,就像它是一个模块一样。你知道吗相关问题 更多 >
编程相关推荐