博客五部曲之一 - 简单博客
1411 浏览 5 years, 11 months
25 设置静态文件,css和JavaScript
版权声明: 转载请注明出处 http://www.codingsoho.com/这儿介绍的主要是本地开发环境,并不是产品应用。
添加STATICFILES_DIRS配置,django会从这里面的目录里收集静态文件
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
STATIC_URL是静态文件的URL根路径,在网页上静态文件都是从这个链接开始的
STATIC_URL = '/static/'
在URL里添加静态文件的访问入口
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
STATIC_ROOT = os.path.join(s.path.dirname(BASE_DIR) , 'static_cdn'),
执行python manage.py collectstatic,django将会将STATICFILES_DIRS下面的静态文件连同admin下面的一起拷贝到STATIC_ROOT目录下
我们创建第一个自己的静态文件 static/css/base.css, 执行collectstatic,该文件就会被拷贝到static_cdn/css/base/css,它对应的URL为/static/css/base.css
在模板里引入该css,可以直接用固定URL,但是一旦STATIC_URL变了,它必须重新修改。 Django提供了static tag,{% load staticfiles %},然后通过{% static ‘css/base.css’ %}引入该文件,即使STATIC_URL变了,该URL会自动跟着变化。
<link rel="stylesheet" type="text/css" href="/static/css/base.css">
{% load staticfiles %}
<link rel="stylesheet" type="text/css" href="{% static 'css/base.css' %}">
https://docs.djangoproject.com/en/1.11/howto/static-files/