一. 静态资源static文件放在app中
- 确认django.contrib.staticfiles包含在INSTALLED_APPS中。
- 在settings文件中定义STATIC_URL,例如:
STATIC_URL = '/static/'
- 在模板中,可以硬编码URL如
/static/my_app/example.jpg
,或者最好使用static模板标签通过配置的STATICFILES_STORAGE存储来构建给定相对路径的URL(当你要切换到用于提供静态文件的内容分发网络(CDN)时,这样做会更容易)。
{% load static %}
<img src="{% static "my_app/example.jpg" %}" alt="My image"/> - 在你的应用中,将静态文件存储在名为static的目录下。 例如
my_app/static/my_app/example.jpg。
二. 静态资源static放在任意目录中(使用此方法解决404错误)
你的项目可能还有一些静态文件不属于任何一个特定的应用。 除了在应用中使用static/目录,你还可以在settings文件中定义一个目录列表(STATICFILES_DIRS),Django会在其中查找静态文件。 像这样:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]