2015-04-29 47 views
2

我試圖打包我的Django項目沒有成功。我的項目是這樣的: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

  • 移動應用+靜態+模板目錄(保持在根大新銀行集團和設置)
  • 在Django - 大新銀行集團,創建setup.py文件,指定包文件( app1和app2)並創建MANIFEST.in以包含靜態和模板目錄。
  • 在Django的DSBG
  • ,運行:

    python setup.py sdist 
    
  • 在Django - 大新銀行集團的父目錄

    ,運行:

    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 

服務器開始很好,但在本地主機指向時,瀏覽器說:

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

這home.html的文件位於django-大新銀行集團/模板。 dsbg/dsbg和.local/lib/python2.7/site-packages目錄都不包含home.html。後者包含我所有的應用程序,但不包含靜態或模板目錄。

我在做什麼錯?有人能幫我嗎? 任何幫助,不勝感激。 帕特里克

回答

0

您需要的模板的絕對路徑,無所謂在應用程序的位置,你總是可以只

TEMPLATES_DIRS = ('/home/user/dsbg/django-dsbg/templates',) 

# Django 1.8 + 
Dirs = ['templates'] 
+0

我試了一下,結果相同。我懷疑我的新項目結構可能有問題。你認爲它是否可以(在同一級別的設置,dsbg和django-dsbg)?注意:在我嘗試打包項目之前,它與原始結構一起工作;我的意思是找到模板沒有問題。 – Patrick

相關問題