按照 关于 Django 可重用应用程序的教程,一切正常。但是我对开发和打包 Django 应用程序的过程有一些疑问。
1 - 在本教程中,首先在项目中开发应用程序。然后,将其复制粘贴到另一个文件夹中进行打包,然后通过 pip 再次包含在项目中。这是开发 Django 应用程序的方式吗?例如,如果我必须包含新功能或修复错误,我是否应该在项目中进行更改,然后将它们复制粘贴到项目外部的包文件夹中?
2 - 假设 1 不是开发应用程序的唯一方法,我开始使用以下结构为我的应用程序创建一个包文件夹:
django-myApp
|--myApp
| |--models
| |--file1.py
| |--file2.py
|--setup.py
|--README.rst
运行python3 setup.py sdist
并安装它后,pip3 install --user myApp.tar.gz
我可以从新的 Django 项目 shell 成功导入我的应用程序。但是当我运行 python3 manage.py migrate 时,没有创建 myApp 模型的表。我想这是因为 myApp 包中没有迁移文件夹,据我所知,创建迁移的唯一方法是makemigrations
在项目中运行。还是我错过了一些基本的东西?我可以在项目中没有应用程序的情况下生成初始迁移模块吗?
3 - 最后,主要问题是:在开发应用程序时,我是否必须启动一个项目,复制应用程序文件夹进行打包,通过安装重新包含它,然后在包文件夹中继续开发?
提前感谢您的任何评论或指导。
PD:对不起我的英语,关于它的评论也很受欢迎
编辑1:
一个突出我怀疑的例子:完成教程后,应用程序源代码在项目之外,假设我需要更改模型。我可以在 App 文件夹中更改它们,发布一个新版本(例如 0.2)并安装它。现在,如何为这些更改生成迁移?我应该总是有一个测试项目吗?