加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 12:32:27 所属栏目:Python 来源:网络整理
导读:以下 tutorial on Django reusable apps的工作正常.但是我对开发和打包Django应用程序的过程有一些疑问. 1 – 在教程中,应用程序首先在项目中开发,然后在另一个文件夹中进行复制粘贴以进行打包,然后再次包含在项目中.这是开发Django应用程序的方式吗?例如,
以下 tutorial on Django reusable apps的工作正常.但是我对开发和打包Django应用程序的过程有一些疑问.

1 – 在教程中,应用程序首先在项目中开发,然后在另一个文件夹中进行复制粘贴以进行打包,然后再次包含在项目中.这是开发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 – 最后,问题是:在开发应用程序时,我是否必须启动项目,复制app文件夹进行打包,将其重新安装到vía安装,然后继续在包文件夹中进行开发?

提前感谢任何评论或指导.

P.D.:对不起,我的英文也很受欢迎

编辑1:

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

解决方法

此外,开发过程中的良好工作流程是将可重用的应用程序链接到您的Django项目中.为了轻松实现这一点,安装有 -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中进行的每个更改都会自动反映在my-django项目中,而无需首先构建/打包可重用的应用程序.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读