目录
实现:


文章多的时要考虑分页处理
导入分页器代码

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

utils

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

定义home页面跳转到前端:

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

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

修改复制代码:

效果:

优化:
把标题放上面:

效果:

空开一点距离:

效果:

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

实现:


效果:

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

效果:

分页器添加:

效果:

分页器据中

效果:


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

效果:

访问图片,访问不到:

暴露后端任意文件夹的资源 需手动加
模块导入:


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

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

效果:

如何实现:


配置:

定义相关内容:

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


error.py 代码:

效果:


先判断当前发送请求的页面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中进行修改

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


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 在返回前端做相关内容


效果:

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

效果:

文章详情页:urls.py

定义 views.py

前端 :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