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')

  

随机推荐

  1. bzoj千题计划323:bzoj1951: [Sdoi2010]古代猪文(Lucas+CRT+欧拉定理)

    https://www.lydsy.com/JudgeOnline/problem.php?id=1951 先欧拉降幂 然后模数质因数分解 分别计算组合数的结果,中国剩余定理合并 #include&l ...

  2. hdu 6418(石头剪刀布 **)

    题意是说双方各有剪刀,石头和布的卡片各 a,b,c,a‘,b',c' 张,对方是随机选择,问我方的最大预期得分. 这道题目一开始看到的时候感觉没有头绪,再次读题,发现题目说结果可能是分数,如果是分数的 ...

  3. HTML第四耍 超链接标签

    1.HTML 超链接(链接) 一.HTML 超链接 HTML中使用超级链接与网络上的另一个文档相连.几乎可以在所有的网页中找到链接.点击链接可以从一张页面跳转到另一张页面. 超链接可以是一个字,一个词 ...

  4. ThinkPHP中RBAC权限带菜单栏显示和详细权限操作

    RBAC是什么,能解决什么难题? RBAC是Role-Based Access Control的首字母,译成中文即基于角色的权限访问控制,说白了也就是用户通过角色与权限进行关联[其架构灵感来源于操作系 ...

  5. Spark源码剖析 - SparkContext的初始化(二)_创建执行环境SparkEnv

    2. 创建执行环境SparkEnv SparkEnv是Spark的执行环境对象,其中包括众多与Executor执行相关的对象.由于在local模式下Driver会创建Executor,local-cl ...

  6. vue input添加回车触发

    普通vue input @keyup.enter="onSubmit" element el-input @keyup.enter.native="onSubmit&qu ...

  7. Java集合操作精华总结

    一.Set1.HashSet boolean add(E e) 添加 访问 boolean remove(E e) 删除 Iterator<E> iterator 遍历 int size( ...

  8. C++ vector和list的主要用法区别

    vector可以直接通过下标访问,list不可以 1.vector ; i < userTypes.size(); i++) { str = userTypes[i].typeName; } 2 ...

  9. verilog仿真文件编写

    verilog仿真文件大概框架: ·timescale 1ns/1ps //但需要时间 module xxx_tb(); //仿真文件不需要输入和输出, intput clk; ] xx; //根据需 ...

  10. linux时间戳和时间格式的转化

    1.将时间戳转化为yyyy-MM-dd HH:mm:ss时间格式 date -d @时间戳(秒) 2.设置服务器时间---特别注意使用   date -s 时间