BBS项目图片解析

BBS

media配置

实现:

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

导入分页器代码

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

utils

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

定义home页面跳转到前端:

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

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

修改复制代码:

效果:

1579164346456

优化:

把标题放上面:

1579164505226

效果:

空开一点距离:

效果:

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

实现:

1579165060136

效果:

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

效果:

分页器添加:

效果:

分页器据中

效果:

用户头像展示 media配置

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

效果:

访问图片,访问不到:

图片防盗链

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

模块导入:

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

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

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

效果:

个人站点:

如何实现:

配置:

定义相关内容:

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

error.py 代码:

效果:

1579171262466

1579171328828

图片防盗链

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

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

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

如何解决该问题

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

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

个人站点页搭建

日期归档:

	个人站点
	
	侧边栏展示
	
		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中

定义 views.py

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

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

1579173122702

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

实现:

site.html

效果:

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

添加样式 site.py

效果

侧边栏展示

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

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

导入:views.py


效果:文章下的分类数

site.html

效果:

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

效果:

site.py

效果:

3.按文章的年月分组

导入模块:views.py


数据库修改年月:

效果:2019 8 月 jason有两篇文章 1是默认值不看

site.py


效果:

我们写日期报错可修改两个参数:settings中修改

侧边栏筛选功能:

urls.py
推到思路

url匹配优化 合并

views.py

进行业务逻辑判断:

效果:

site.html

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

效果:

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


效果:

侧边栏inclusion_tag制作

文章详情页:urls.py

定义 views.py

1579144880076

前端 :article_detail.html

site.py

views.py

创建一个文件夹

前端left_menu.html

后端

后端base.py

前端site.py

urls.py

前端home.py

效果:

怎么拷贝博客

检查

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

点站点踩


定义:

前端:

定义处 后端:

Json转换

点赞点踩功能实现

views.py

1.判断当前用户是否登录:

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

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

4.操作数据库

操作两张表

数据库优化字段


效果:

错误判断后:

前端:

效果:

评论前端样式搭建

评论前端样式代码:


前端代码:

添加登陆注册

效果:

根评论功能实现

评论内容后端发送:

文章评论:

views.py

前端:

到后端:

执行效果

前端:

views.py

评论渲染
到前端渲染一下:

效果:

添加一个回复按钮


临时渲染:

效果:

原文地址:https://www.cnblogs.com/WQ577098649/p/12230402.html