如何将我自己的文件添加到Django的“静态”文件夹 - python

我已阅读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应用程序的工作方式。