1.将富文本添加到saveblog.html中
打开b.html页面,将方框内的代码写入saveblog.html中,同时textarea起id为myEditor
saveblog.html
其他代码不变运行浏览器效果为
2.自定义富文本 Django分页
要实现分页首先在views中导入分页模块 然后修改welcome2函数将发布数据展示在welcome2页面中
blog_user/views.py
from django.core.paginator import Paginator
from blog.models import Blog
def welcome2(request):
user=request.session.get('user')
# 从表中查询对象,blogSet为结果集
blogSet=Blog.objects
# 获取所有数据
blogSet = blogSet.all()
# 查询所需要的项(blogUser__userName:双下划綫 表连接查询
blogSet=blogSet.values('id','title','create_date','blogUser__userName')
#设置获取第几页的数据 默认为1
pageNum=request.GET.get('pageNum',1)
#分几条数据为一页(分页器
paginator=Paginator(blogSet,5)
#判断第一页和最后一页(paginator.num_pages获取总页数)
isFirstNum=(pageNum==1)#首页
isLastNum=(pageNum==paginator.num_pages)#尾页
#传参
return render(request, 'user/welcome2.html',
{"user":user,
'isFirstNum':isFirstNum,
'isLastNum':isLastNum,
'pageNum':pageNum,#当前页面
'ppageNum':pageNum-1,#上一页
'npageNum': pageNum + 1,#下一页
'num_pages':paginator.num_pages,
'page':paginator.get_page(pageNum)#当前页的数据
})
修改welcome2.html
这里运用了\
遍历语法:{%for ## in ##%}....{%endfor%}
判断语法:{%if is ##%}...{%endif%}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>session 登录页面</h1>
{% if user is not None %}
<h1>欢迎{{ user.username }}访问本页面
<a href="logout">退出</a>
</h1>
{% else %}
<a href="login">请登录</a>
{% endif %}
<strong>
<a href="/blog/saveblog">个人中心</a>
</strong>
<strong>
<a href="b">主页面</a>
</strong>
{#循环显示当前页的数据#}
<ul>
{# 遍历出所有文章#}
{% for blog in page %}
<li>{#获取id#}
<a href="/blog/wenzhang?id={{ blog.id }}">{{ blog.title }}</a>
作者:<span>{{ blog.blogUser__userName }}</span>
{# 注: 时间的书写形式 年月日时分秒#}
时间:<span>{{ blog.create_date|date:'Y-m-d H:i:s' }}</span>
</li>
{% endfor %}
</ul>
<p>
{# 如果当前页数不是1显示首页和上一页如果是1显示首页#}
{% if not isFirstNum %}
<a href="welcome2?pageNum=1">首页</a>
<a href="welcome2?pageNum={{ ppageNum }}">上一页</a>
{% endif %}
{{ pageNum }}/{{num_pages }}
{# 如果不是当前页数不是总页数显示下一页和尾页 如果是显示尾页#}
{% if not isLastNum %}
<a href="welcome2?pageNum={{ npageNum }}">下一页</a>
<a href="welcome2?pageNum={{ num_pages }}">尾页</a>
{% endif %}
</p>
</body>
</html>
在templates下创建文件夹blog 再创建wenzhang.html用来存放发布信息添加代码
将html代码解析{%autoescape off%}...{%endautoescape%}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>标题:{{blog.title }}</h1>
<h2>作者:{{ blog.blogUser__userName}} 发布时间:{{blog.create_date |date:'Y-m-d H:i:s' }}</h2>
<div>
{% autoescape off %}
{{ blog.context }}
{% endautoescape %}
</div>
</body>
</html>
在blog/urls.py下配置路径
在blog/views.py中创建函数wenzhang
def wenzhang(request):
#获取用户id 赋值给b_id 默认为1
b_id=request.GET.get('id',1)
blog=Blog.objects.get(pk=b_id)
return render(request,"blog/wenzhang.html",{"blog":blog}
进入浏览器提前在数据库放入多条发布信息
点击进入天鹅标题为天鹅的文章