占位图片服务器
接收一个带有指定图片大小(颜色,文本等)的Url并生成该图片。
通过正则中的?P语法来捕获被命名的组,之后用[0-9]来匹配数字
试验:
>>> compile = re.compile('^image/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$')
>>> str = 'image/12x21/'
>>> compile.search(str)
<_sre.SRE_Match object; span=(0, 12), match='image/12x21/'>
>>> compile.search(str).groupdict()
{'width': '12', 'height': '21'}
验证无误后将请求处理为图片,通过Pillow将图片绘制出来。
然后加入缓存
# 导入缓存
from django.core.cache import cache
# 获取缓存中的数据 返回数据或者None
cache.get(key)
# 设置缓存数据,最后一个数据表示存放时间 60 * 60 是一小时
cache.set(key, value, 60 * 60)
加入静态文件和模板设置
INSTALLED_APPS=(
'django.contrib.staticfiles',
),
TEMPLATES=(
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': (os.path.join(BASE_DIR, 'templates'),),
}
),
STATICFILES_DIRS=(
os.path.join(BASE_DIR, 'static'),
),
STATIC_URL='/static/',
遇见问题导入reverse失败:
ImportError: cannot import name 'RemovedInDjango20Warning'
在博客https://blog.csdn.net/qq_38431572/article/details/78995447中找到解决方法:
改为from django.urls import reverse