1.数据库图片渲染设计
1.模型层
class User_info (AbstractUser): head_img = models.FileField (upload_to='test', default='test/2.jpg',null=True, blank=True)
2.settings层
AUTH_USER_MODEL='app01.User_info' MEDIA_URL='/media/' MEDIA_ROOT=os.path.join(BASE_DIR,'media')
3.路由层
from django.views.static import serve urlpatterns = [ url(r'^media/(?P<path>.*)',serve,{'document_root':settings.MEDIA_ROOT}), ]
4.模板层
<img class="media-object" src="media/{{ foo.blog.user_info.head_img }}" alt="" width="50px" height="50px">
2.个人站点设计
#个人站点路由设计 #放到最后,都匹配完成,没有匹配到,再匹配它 url(r'^(?P<username>[w]+)', views.user_blog), #视图函数: def user_blog(request,username): print(username) #去数据库过滤,存在,返回个人博客,不存在,返回404页面 #个人站点样式的显示 #不同的人都有一个自己的css文件, <link rel="stylesheet" href="/static/css/{{ blog.theme }}">
3.截断函数
文章标题 时间 blog_id y_m 文章1 2018-11-29 03:27:22.342697 1 2018-11 文章2 2018-10-02 03:28:03.000000 1 2018-10 文章3 2018-10-11 03:29:16.000000 1 2018-10 from django.db.models.functions import TruncMonth models.Article.obbject.all().annotate(y_m=TruncMonth('create_time)).vaules('y_m').annotate(coun=Count('y_m')).values('y_m','coun')