Django 02 项目内容的编辑02

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}

进入浏览器提前在数据库放入多条发布信息



点击进入天鹅标题为天鹅的文章



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值