Django应用程序不呈现静态文件

时间:2017-07-23 09:51:34

标签: django

我一直在尝试创建一个django应用程序,但是django渲染静态文件存在问题:

这是我的设置文件静态配置:

STATIC_URL = '/static/'    
STATIC_ROOT = os.path.join(BASE_DIR, "static")

我已将所有静态文件放在manage.py所在位置的静态文件夹中。

2 个答案:

答案 0 :(得分:1)

在这里你定义了一个STATIC_ROOT,所以你放置静态文件后,你需要运行的css或js文件的每次更改

python manage.py collectstatic

此命令将所有静态文件收集到已定义的字典中,但这是在完成开发后完成的。因此,您可以在开发期间使用STATICFILES_DIRS,而不是那样,

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

将在开发期间自动查找静态文件。

还要确保已安装的应用中包含静态文件。

INSTALLED_APPS = [
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles', # it's is used for static files
]

在模板中,您可以加载静态文件,例如

{% load staticfiles %}  # register static tag
<link ref="stylesheet" href="{% static 'style.css' %}">

答案 1 :(得分:0)

settings.py

INSTALLED_APPS = [
    ...
    ...
    'django.contrib.staticfiles',
    ...
    ...
]

STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")

urls.py(主要项目&#39; urls.py)

from django.conf.urls.static import static

urlpatterns = [
    ...
]


if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)