2017-03-01 40 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/