html页面中的代码
{% load staticfiles %}
<img src="{% static "images/hi.jpg" %}" />
下面来总结下上面提到过的 settings.py 中的设置项:
STATIC_ROOT:执行 ./manage.py collectstatic 后,所有静态文件就会被收集到这个文件夹下;
STATIC_URL:静态文件的 URL 前缀,供类似 static,get_static_prefix 等模板标签使用;
STATICFILES_DIRS:除 每个应用目录下的 static/ 目录外,其他静态文件可能存放的目录;
STATICFILES_FINDERS:告诉 collectstatic 命令都需要去哪儿找静态文件,以及寻找的顺序,有点儿类似 TEMPLATE_LOADERS;
STATICFILES_STORAGE:collectstatic 命令所使用的存储引擎,默认情况下不用修改,使用内置的 StaticFilesStorage 即可。如果要使用 CDN 或云服务来提供静态资源,可以编写相应的存储引擎并替换即可。
INSTALLED_APPS:要使用上面这些功能,就要在这里开启 django.contrib.staticfiles 这个应用;另外,只有在这里出现的应用才会被 collectstatic 搜集到。
还有两个相关的设置项:
MEDIA_ROOT:用来存放用户上传文件的目录。
MEDIA_URL:用户上传文件的 URL 前缀。
django设置表存储引擎
mysql5.5.4默认支持的引擎是MyISAM。到5.5.5以及以上的版本,支持InnoDB存储引擎。
修改django使用的存储引擎
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxx',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306',
'ATOMIC_REQUEST': True,
'OPTIONS': {
"init_command": "SET storage_engine=MyISAM",
}
}
}
本文介绍了Django中处理静态文件的相关设置,包括STATIC_ROOT、STATIC_URL、STATICFILES_DIRS等,以及collectstatic命令的工作原理。同时提到了MEDIA_ROOT和MEDIA_URL用于用户上传文件,并讨论了Django存储引擎的配置,尤其是从MyISAM到InnoDB的转变。
1288

被折叠的 条评论
为什么被折叠?



