gpt4 book ai didi

django - 如何在新项目中开发/包含 Django 自定义可重用应用程序?有一些指导方针吗?

转载 作者:行者123 更新时间:2023-12-04 21:52:01 25 4
gpt4 key购买 nike

关注 tutorial on Django reusable apps一切正常。但是我对开发和打包 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 - 最后,主要问题是:在开发应用程序时,我是否必须启动一个项目,复制应用程序文件夹进行打包,通过安装重新包含它,然后在包文件夹中继续开发?

提前感谢您的任何评论或指导。

P.D.:对不起我的英语,关于它的评论也很受欢迎

编辑 1:

一个突出我怀疑的例子:完成教程后,应用程序源代码在项目之外,假设我需要更改模型。我可以在 App 文件夹中更改它们,发布一个新版本(例如 0.2)并安装它。现在,如何为这些更改生成迁移?我应该总是有一个测试项目吗?

最佳答案

此外,开发过程中一个好的工作流程是将可重用的应用程序链接到您的 Django 项目中。轻松实现此目标pip install -e, --editable 选项,它又派生自 setuptools Development mode .

可重复使用的应用程序:

django-myApp
|--myApp
| |--models
| |--file1.py
| |--file2.py
|--setup.py
|--README.rst

Django 设置:
my-django-project
|--my_django_project
| |--settings.py
| |--urls.py
| |--wsgi.py
| |--...
|--manage.py

激活 virtualenv 后,您现在可以通过运行将可重用应用程序链接到项目:
(myvenv) $ pip install --editable /path/to/django-myApp

现在,您在 django-myApp 中所做的每一项更改自动反射(reflect)在 my-django-project无需先构建/打包可重用应用程序。

这在许多用例中变得很方便。例如。想象一下,开发与 Python 2.x 兼容的应用程序和 Python 3.x .通过链接,您可以将应用程序安装到两个(或更多)不同的 Django 设置中并运行您的测试。

关于django - 如何在新项目中开发/包含 Django 自定义可重用应用程序?有一些指导方针吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743720/

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