我已阅读django static files document并进行了django静态文件设置,如下所示
setting.py
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')
STATIC_URL = '/static/'
HTML页面
<img src="{% static "admin/img/author.jpg" %}" alt="My image"/>
因此,如果我处理了Django默认静态文件之一,则可以正常工作。但是,如果我将自己的文件和文件夹添加到static
文件夹,则不会显示它。
我试过了
python manage.py collectstatic
但是什么都没有改变。我该如何运作?
python大神给出的解决方案
一些东西...
STATICFILES_DIRS = (
'path/to/files/in/development',
)
STATIC_ROOT = 'path/where/static/files/are/collected/in/production'
当使用DEBUG = True
时,当您使用STATICFILES_DIRS
模板标记时,Django将自动提供位于{% static 'path/to/file' %}
内任何目录中的文件。
当使用DEBUG = False
时,Django将不会自动提供任何文件,并且您应从STATIC_ROOT
中指定的位置使用Apache,Nginx等提供这些文件。
当您运行$ manage.py collectstatic
时,Django会将位于STATICFILES_DIRS
中的所有文件以及位于第三方应用程序中名为“ static”的任何目录中的文件复制到STATIC_ROOT
指定的位置。
我通常这样构造项目根目录:
my_project/
/static_assets/ (specified in STATICFILES_DIRS)
/js
/images
/static (specified in STATIC_ROOT)
我希望这可以帮助您了解staticfiles应用程序的工作方式。