2017-03-01 39 views
0

當我使用{% load static %}然後像這樣添加圖片後,我的模板:(Django的)整個工程靜態文件

<img src="{% static 'logo.png' %}"> 

我只得到了圖像,如果它存儲在一個名爲static方向這是在同一個應用程序。但是我想在整個項目中使用徽標,並且還要在整個項目的模板中使用。當圖像以static方向存儲在內部項目文件夾中時,它不起作用。


如何爲整個項目使用靜態文件?以及如何從模板訪問它們? (我是一個業餘愛好開發者,所以不在生產中;-)) 我的設置幾乎是我創建項目時的設置。 (我只加了一些額外的模板方向)如果你想在你的Django project使用靜態文件


感謝您閱讀本

+2

你說的是不對的。任何模板都可以訪問靜態文件。請顯示您的靜態設置和項目佈局。 –

回答

2

,你必須認識到以下幾個步驟:

步驟1:INSTALLED_APPS settings.py

確保您有django.contrib.staticfiles in INSTALLED_APPS

第2步:STATIC_URL

然後,在settings.py文件,你必須這樣寫:現在STATIC_URL = '/static/'

,在你的Django的應用程序,你可以創建一個名爲static新的存儲庫,並把你的裏面的靜態元素。

如果你想在此元素的召喚:

{% load static %} 
<img src="{% static "my_app/example.jpg" %}" alt="My image"/> 

STEP 3(你想要什麼):STATICFILES_DIRS

如果你有一些不屬於特定Django的靜態元素應用程序,您可以使用STATICFILES_DIRS

您可以在Django應用程序存儲庫旁創建一個新的存儲庫:static

您將獲得:

My_project 
| 
__ application 1 
| 
__ application 2 
| 
__ ... 
| 
__ static 

在settings.py文件,請加:現在

STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, "static"), 
    'path_to_static_directory/static/', 
] 

,你可以通過加載靜態文件訪問任何teamplates靜態文件:{% load static %}

請仔細閱讀本教程:https://docs.djangoproject.com/en/1.10/howto/static-files/