上图是出现问题的提示以及解决后的图。
原因:
django部署方式比较特别,采用静态文件路径:STATICFILES_DIRS的部署方式,之前你写的相对路径,绝对路径因为缺少静态文件路径而全部失效…
下面是解决过程=》
首先默认你在static下分类好不同文件夹 css、js、image等。static和templates处于同级目录。
||Step one:
/* Django的映射机制,这里填static或者其他什么英文都不重要 */
STATIC_URL = '/static/'
- 1
/* 部署静态文件时(python manage.py collectstatic)所有的静态文静聚合的目录,必须为绝对地址 */
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
- 1
/* 设置图片等静态文件的路径 */
STATICFILES_DIRS = ( ('css', os.path.join(STATIC_ROOT, 'css').replace('\\', '/')), ('js', os.path.join(STATIC_ROOT, 'js').replace('\\', '/')), ('images', os.path.join(STATIC_ROOT, 'images').replace('\\', '/')), ('fonts', os.path.join(STATIC_ROOT, 'fonts').replace('\\', '/')), )
- 1
- 2
- 3
- 4
- 5
||Step two:
在urls.py文件中加上以下内容:
...
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', VAapp.index),
url(r'^index/$', VAapp.index),
...
]
urlpatterns += staticfiles_urlpatterns()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
||Step three:
在base.html中第一行加入
{% load staticfiles %}