2012-12-07 86 views
0

我的文件夾結構如下:如何添加靜態在我的Django

mysite_new/ 
      manage.py 
      mysite/ 
       __init__.py 
       urls.py 
       setting.py 
       wsgi.py 
       templates/ 
          default.html 
       static/ 
         admin/ 
           img/ 
            logo.png 

      ticket/ 
       __init__.py 
       models.py 
       view.py 
       urls.py 
       ...... 

在setting.py,我設置

STATIC_URL = '/static/' 
STATIC_ROOT = '' 
STATICFILES_DIRS = (

) 

和門票/ urls.py我設置

from django.conf import settings 
from django.conf.urls.static import static 
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT) 

default.html

<html> 
<head> 
<img src="{{ STATIC_URL }}admin/img/logo.jpg" /> 

</head> 
<body> 
</body> 
</html> 

然後我嘗試訪問包含default.html的頁面,logo.jpg未顯示。 它顯示enter image description here

所以可能是靜態文件夾沒有正確鏈接到我的項目,我的問題是誰能告訴我如何實現這個? 我應該在setting.py(STATIC_ROOT,STATIC_URL,STATICFILES_DIRS)中設置什麼,urls.py以及如何修改default.html。請詳細說明步驟。由於

+0

當你創建一個django項目,它會自動設置。你刪除它了嗎? – santiagobasulto

回答

2

我覺得對於開發模式,你需要設置

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) 
STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static'), 
) 
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
) 

和urls.py

from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
urlpatterns += staticfiles_urlpatterns() 

要collectstatic需要設置STATIC_ROOT,如:

STATIC_ROOT = os.path.join(PROJECT_ROOT, '..', 'static')