包含多个应用程序的Django打包项目

时间:2015-04-29 19:41:38

标签: django packaging

我正在尝试打包我的Django项目但没有成功。我的项目看起来像这样:

dsbg/
  manage.py

  dsbg/
    __init__.py
    urls.py
    wsgi.py

  app1/
    __init__.py
    models.py
    views.py
    urls.py

  app2/
    __init__.py
    models.py
    views.py
    urls.py

  settings/
    base.py
    local.py
    prod.py

  static/
        app1/
            images/
                background.gif
            style.css

  templates/
        home.html
        app1/
            detail.html
            index.html
        app2/
            detail.html
            index.html

我遵循了程序here,但我不确定我做的是正确的事情(他们的例子只有一个应用程序:民意调查)。我做了以下事情:

  • 在新目录django-dsbg中移动apps + static + templates目录(将dsbg和设置保存在root中)
  • 在django-dsbg中,创建setup.py文件,指定包文件(app1和app2)并创建MANIFEST.in以包含静态和模板目录。
  • 在django-dsbg中
  • ,运行:

     python setup.py sdist
    
  • 在django-dsbg的父目录中,运行:

     pip install --user django-dsbg/dist/django-dsbg-0.1.tar.gz
    

之后,项目如下所示:

dsbg/
  manage.py

  settings/
    base.py
    local.py
    prod.py

  dsbg/
    __init__.py
    urls.py
    wsgi.py

  django-dsbg/
    LICENSE
    MANIFEST.in
    README.rst
    app1/
       models.py
       views.py
       urls.py
    app2/
       models.py
       views.py
       urls.py
    templates/
       home.html
       app1/
         ...
       app2/
         ...
    static/
       ...

现在在根目录(顶部dsbg),我尝试启动服务器:

python manage.py runserver --settings=settings.local

服务器启动良好但是当指向localhost时,浏览器会说:

TemplateDoesNotExist at / home.html. 
...
Python Path: ['/home/patrick/django/dsbg/dsbg',
              ...
              '/home/patrick/.local/lib/python2.7/site-packages']

此home.html文件位于django-dsbg / templates中。 dsbg / dsbg和.local / lib / python2.7 / site-packages目录都不包含home.html。后者包含我的所有应用程序,但不包含静态或模板目录。

我做错了什么?有人能帮我吗? 任何帮助是极大的赞赏。 帕特里克

0 个答案:

没有答案