Django中配置静态文件static
项目中经常需要加载一些静态文件,在Django中为了便于管理与使用,将静态文件统一放入static文件夹中,通常静态文件夹放在app下面,每创建一个app便新建一个static静态文件夹,但是这样就会造成多个app共用相同的静态资源时,会造成不必要的空间浪费。对此可以将static放在一个都可以调用的地方,以节约资源。此处将static文件夹放在与app同级的目录中。
调试模式(DEBUG=True)
设置Setting中设置static路径
打开setting在下面添加如下代码
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
调用静态文件
方式一: 静态文件jquery.js在static的javascript文件夹下
方式二: html模板中先在头部写上
加载静态文件jquery.js
在线模式(DEBUG=False)
设置host访问名单
ALLOWED_HOSTS = ['*',]
为*号时代表所有
设置静态文件全局访问变量
在setting中添加变量
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
无论什么模式,使用静态文件时都要确保在INSTALLED_APPS中已添加 ‘django.contrib.staticfiles’应用
project/urls.py中加入以下代码
调用静态文件
调用静态文件的方法与调试模式一样
注意:当 DEBUG=False, 会出现静态⽂件查找不到, 因为⾮开发环境下, 默认不启⽤静态服务。虽然通过上面的方式可以强行启动Django的静态服务, 但是将静态⽂件的处理交由 Django 处理这种⽅式很低效, 会增加对服务器的压⼒, 不适合线上环境. 这种配置⽅式可 在开发过程中使⽤, 不推荐实际线上环境使⽤. 线上环境我们会将⽤户的静态⽂件请求交由像 Nginx 这样的 web 服务器来处理