BBS项目图片解析

目录

BBS

media配置

实现:

BBS项目图片解析

BBS项目图片解析

文章多的时要考虑分页处理

导入分页器代码

BBS项目图片解析

随便找一个文件放或者自创一个

BBS项目图片解析

utils

BBS项目图片解析

修改参数,让一页展示多条 我默认十条(10)

BBS项目图片解析

定义home页面跳转到前端:

BBS项目图片解析

来到home.html页面搭建中 找到字数为8的,去复制相关内容

BBS项目图片解析

渲染样式,调格式,找相应格式复制进行修改

BBS项目图片解析

修改复制代码:

BBS项目图片解析

效果:

BBS项目图片解析

优化:

把标题放上面:

BBS项目图片解析

效果:

BBS项目图片解析

空开一点距离:

BBS项目图片解析

效果:

BBS项目图片解析

文章表签 《a》标签 不知道写什么就#号暂时顶一下

BBS项目图片解析

实现:

BBS项目图片解析

BBS项目图片解析

效果:

BBS项目图片解析

让用户名可以点击、调大用户名:基于上面代码优化

BBS项目图片解析

效果:

BBS项目图片解析

分页器添加:

BBS项目图片解析

效果:

BBS项目图片解析

分页器据中

BBS项目图片解析

效果:

BBS项目图片解析

用户头像展示 media配置

BBS项目图片解析

上传文件图片存的路径 media配置: 执行注册成功后,添加图片 自动保存创建的media文件夹中

BBS项目图片解析

效果:

BBS项目图片解析

访问图片,访问不到:

BBS项目图片解析

图片防盗链

暴露后端任意文件夹的资源 需手动加

模块导入:

BBS项目图片解析

BBS项目图片解析

配置:urls.py 固定写法,把图片信息暴露出去 另一种放不能暴露敏感词汇不然会暴露自己的信息,别人能轻易获取BBS项目图片解析

然后访问图片,就可以访问了

BBS项目图片解析

添加图片:只有手动在用户头像前加一个 /media/

BBS项目图片解析

效果:

BBS项目图片解析

个人站点:

如何实现:

BBS项目图片解析

BBS项目图片解析

配置:

BBS项目图片解析

定义相关内容:

BBS项目图片解析

获取404页面,相关内容复制到 error.html中

BBS项目图片解析

BBS项目图片解析

error.py 代码:

BBS项目图片解析

效果:

BBS项目图片解析

BBS项目图片解析

图片防盗链

先判断当前发送请求的页面url是否属于本网站的
如果是那么正常返回图片如果不是直接禁止

如何判断当前请求的页面url

请求头里面有一个
    Referer: http://127.0.0.1:8000/skadjklsajdklsa/ 

如何解决该问题

1.利用爬虫直接将所有资源下载到本地
2.修改请求头参数

列如博客园就拿到这个网址到我的网址中进行比对,是否给你开通这个图片的访问,没有就访问不了

BBS项目图片解析

个人站点页搭建

日期归档:

    个人站点
    
    侧边栏展示
    
        id     title       create_time           month
        1       111         2018-11-23          2018-11
        2       222         2019-11-01          2019-11
        3       333         2020-8-11           2020-8
        4       444         2019-11-30          2019-11
    
        from django.db.models.functions import TruncMonth

        -官方提供
        from django.db.models.functions import TruncMonth
        Article.objects
        .annotate(month=TruncMonth('timestamp'))  # Truncate to month and add to select list 
        .values('month')  # Group By month
        .annotate(c=Count('id'))  # Select the count of the grouping
        .values('month', 'c')  # (might be redundant, haven't tested) select month and count

之前一点小问题 换一下 在views.py 和 home.html中

BBS项目图片解析

BBS项目图片解析

定义 views.py

BBS项目图片解析

前端:error.py 从home.html中内容直接复制到site.html中进行修改

BBS项目图片解析

然后执行效果:因为复制过来修改的,所以测试都应该是对的

BBS项目图片解析

BBS项目图片解析

site.html 个人站点页 把home页面随便添加一下图标

BBS项目图片解析

BBS项目图片解析

实现:

BBS项目图片解析

site.html

BBS项目图片解析

效果:

BBS项目图片解析

创一个css文件夹 更换页面颜色

BBS项目图片解析

添加样式 site.py
BBS项目图片解析
效果

BBS项目图片解析

侧边栏展示

先到site.html中修改相应数据

BBS项目图片解析

1.拿到当前用户的分类及分类下的文章数

导入:views.py

BBS项目图片解析

BBS项目图片解析
效果:文章下的分类数
BBS项目图片解析

site.html

BBS项目图片解析

效果:
BBS项目图片解析

2.当前用户的标签和文章数

BBS项目图片解析

效果:

BBS项目图片解析

site.py

BBS项目图片解析

效果:

BBS项目图片解析

3.按文章的年月分组

导入模块:views.py

BBS项目图片解析

BBS项目图片解析
数据库修改年月:
BBS项目图片解析
效果:2019 8 月 jason有两篇文章 1是默认值不看
BBS项目图片解析

site.py

BBS项目图片解析
效果:
BBS项目图片解析

我们写日期报错可修改两个参数:settings中修改
BBS项目图片解析

侧边栏筛选功能:

urls.py
推到思路
BBS项目图片解析

url匹配优化 合并
BBS项目图片解析

views.py
BBS项目图片解析

进行业务逻辑判断:

BBS项目图片解析

效果:
BBS项目图片解析

site.html

先到添加相应信息views.py 在返回前端做相关内容

BBS项目图片解析

BBS项目图片解析

效果:

BBS项目图片解析

实现多张文章下 显示相关内容

BBS项目图片解析
效果:

BBS项目图片解析

侧边栏inclusion_tag制作

文章详情页:urls.py

BBS项目图片解析

定义 views.py

BBS项目图片解析

前端 :article_detail.html

site.py

BBS项目图片解析

views.py

BBS项目图片解析

创建一个文件夹

BBS项目图片解析

BBS项目图片解析

前端left_menu.html
BBS项目图片解析

后端

BBS项目图片解析

后端base.py

BBS项目图片解析

前端site.py
BBS项目图片解析

urls.py
BBS项目图片解析

前端home.py
BBS项目图片解析

效果:

BBS项目图片解析

怎么拷贝博客

检查

BBS项目图片解析

BBS项目图片解析

点赞点踩前端样式及数据准备

点站点踩

BBS项目图片解析
定义:
BBS项目图片解析

前端:
BBS项目图片解析
定义处 后端:
BBS项目图片解析
Json转换
BBS项目图片解析

点赞点踩功能实现

views.py
BBS项目图片解析
1.判断当前用户是否登录:

2.当前文章是不是当前用户写的

3.当前用户是否已经给当前文章点过缵或踩

4.操作数据库

操作两张表

数据库优化字段

BBS项目图片解析
效果:
BBS项目图片解析
错误判断后:

BBS项目图片解析

前端:
BBS项目图片解析
效果:
BBS项目图片解析

评论前端样式搭建

评论前端样式代码:

BBS项目图片解析
前端代码:
BBS项目图片解析

添加登陆注册
BBS项目图片解析
效果:
BBS项目图片解析

根评论功能实现

评论内容后端发送:

文章评论:
BBS项目图片解析

views.py
BBS项目图片解析

前端:
BBS项目图片解析
到后端:
BBS项目图片解析
执行效果
BBS项目图片解析
前端:
BBS项目图片解析
views.py
BBS项目图片解析
评论渲染
到前端渲染一下:
BBS项目图片解析
效果:
BBS项目图片解析

添加一个回复按钮

BBS项目图片解析
BBS项目图片解析

临时渲染:

效果:
BBS项目图片解析

上一篇:Flutter-CircleAvatar圆形和圆角图片


下一篇:BBS那些事儿