可发布的Django应用需要什么文件夹结构?

时间:2018-07-11 09:58:03

标签: python django pip pypi project-structure

我有一个Django应用开发为我现有Django站点的一部分,我想分开并发布在PyPI上。要使该应用适合发布到PyPI并可以通过pip导入,需要哪种文件夹结构?

当前文件夹结构(被截断):

transform-origin

2 个答案:

答案 0 :(得分:0)

按照高级教程:如何编写可重复使用的应用程序Packaging your app部分,您需要为您的应用程序创建一个新的父文件夹(在Django项目之外),然后将您的应用程序文件夹移到该文件夹​​中:

mysite/
- conf/
- mysite/
  - __init__.py
  - settings.py
- <-- removed here
- manage.py

django-myapp/
- myapp/ <-- inserted here
  - __init__.py
  - admin.py
  - models.py
- setup.py

文件夹结构现在可以发布。 (您仍然需要添加setup.py以及PyPI打包和pip安装所需的其他文件。)

答案 1 :(得分:-1)

遵循主页上的Django教程,您很可能会采用这种结构,请记住,由于覆盖了django框架(例如静态,迁移,模板),因此需要一些路径,但是对于您的应用程序,您可以进行一些更改,但是您必须手动处理

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    polls/
        __init__.py
        admin.py
        migrations/
            __init__.py
            0001_initial.py
        models.py
        static/
            polls/
                images/
                    background.gif
                style.css
        templates/
            polls/
                detail.html
                index.html
                results.html
        tests.py
        urls.py
        views.py
    templates/
        admin/
            base_site.html

https://docs.djangoproject.com/en/2.0/intro/reusable-apps/