我正在开发一个新的Django网站。它使用了一些现有的Django应用程序,而我正在构建自己的应用程序。
当前文件夹结构(被截断):
projects/
- mysite/
- .git/
- conf/
- mysite/
- __init__.py
- settings.py
- myapp/
- __init__.py
- admin.py
- models.py
- manage.py
我想将我的网站和应用程序作为单独的Git存储库提供。换句话说,某人可能想克隆/贡献整个站点,或者他们只想克隆/贡献一个应用程序。
根据高级教程:如何编写可重复使用的应用程序的Packaging your app部分,对于单独的站点和应用程序文件夹,需要以下文件夹结构:
projects/
- mysite/
- .git/
- conf/
- mysite/
- __init__.py
- settings.py
- manage.py
- django-myapp
- .git/
- myapp/
- __init__.py
- admin.py
- models.py
- setup.py
但是在Using your own package中,同一教程建议进行和使用本地修改的唯一方法是:
python setup.py sdist
来构建应用pip install --user /path/to/django-myapp.tar.gz
进行安装如何组织这些文件夹,以便可以轻松地修改网站或应用程序代码,并立即在本地运行该网站?换句话说,避免每次都构建和导入本地tarball。
答案 0 :(得分:0)
我天真地读到,下面的(未经测试的)结构应该起作用,myapp
被排除在用于本地运行站点的virtualenv中...
projects/
- mysite/
- .git/
- conf/
- mysite/
- __init__.py
- settings.py
- myapp/ --> symlink to projects/django-myapp/myapp
- .gitignore --> ignores myapp/
- manage.py
- django-myapp
- .git/
- myapp/
- __init__.py
- admin.py
- models.py
- setup.py
显然,应该仔细测试和协调发行版,以便发行版和已发布的依赖项可以正确地协同工作。