用Django全栈开发——14. CMS中添加Category和Tag管理

大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。这一节,来点硬货内容。

在这里插入图片描述

上一节,我们开发了文章应用,创建了Post,Category还有Tag这三个类。这一节,我们就要在CMS页面里面,来实现Category还有Tag的管理功能。

重构Dashboard

在第12讲,我们重构了首页页面,这一节,我们的重点是CMS的Dashboard页面,所以,我们需要将Dashboard重构。重构的思路还是和之前Index.html重构思路一样,即通过使用extend,block还有include,来讲整个页面拆分成几个模块,每一个页面都是通过模块模块之间的组合,所以,我们要在CMS下面创建一个base文件夹,重构完之后,整个目录结构应该是这个样子的:

在这里插入图片描述

这里base目录下,有三个东西,dashboard_base则是dashboard最基本的,navbar则是顶部的Navbar导航栏,sidebar则是左侧的Sidebar菜单列。

这个dashboard_base文件结构就成了下面这样:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Peekpa | Dashboard | {% block title %}

    {% endblock %}</title>
    <!-- script路径,略 -->
    {% block head %}

    {% endblock %}
</head>

<body class="hold-transition sidebar-mini layout-fixed">
<div class="wrapper">
    <!-- Navbar -->
    {% include 'cms/base/navbar.html' %}
    
    <!-- Sidebar-->
    {% include 'cms/base/sidebar.html' %}

    <!-- Content Wrapper. Contains page content -->
    <div class="content-wrapper">
        {% block main %}

        {% endblock %}
    </div>
</div>

<!-- script路径,略 -->

</body>
</html>

可以看到这里我们使用了三个blcok,分别是title,head还有main。这一点和首页是一样的。同时,还用了两个include标签,分别将navbar还有sidebar引入进来。

我们把原来的Dashboard.html抽象到了home.html文件中:

{% extends 'cms/base/dashboard_base.html' %}

{% block title %}
Home
{% endblock %}

{% block head %}

{% endblock %}

{% block main %}

<!-- Main content -->
<section class="content">
    <div class="container-fluid">
        <div class="row d-flex justify-content-around pt-4 mb-4">
            <p class="h3">《用Django全栈开发——14. CMS中添加Category和Tag管理》</p>
            <p class="h5">公众号『皮爷撸码』,连载更新此系统的开发教程,敬请关注</p>
        </div>
        <div class="row d-flex justify-content-around">
            <img class="img-thumbnail" src="https://www.peekpa.tech/asserts/img/qrcode.jpg" alt="">
        </div>
    </div>
</section>

{% endblock %}

可以看到,这里首先使用extend来继承dashboard_base文件,然后填充里面的block内容。最后,我们继承完成的首页,就长这个样子:

在这里插入图片描述

Category开发

我们开发Category的思路也很简单,就只有两个页面:管理页面还有发布页面。

管理页面就是一张表格,里面显示的Category的基本信息;发布页面则是要发布Category。所以,我们创建Category目录,并在目录下创建两个文件,manage.htmlpublish.html文件,分别对应的管理和发布。当然,这两个文件的开发思路和home是一样的,都需要继承dashboard_base文件。

所以,我们先把manage.htmlpublish.html两个文件的结构先创建起来:

<!--manage.html-->
{% extends 'cms/base/dashboard_base.html' %}

{% block head %}

{% endblock %}

{% block title %}
    Category Management
{% endblock %}

{% block main %}
    <section class="content">
        <div class="container-fluid pt-4">
            <div class="row">
                <div class="col-sm-12">
                    <div class="card">
                        <div class="card-body">
                            <div class="row p-2 d-flex justify-content-between">
                                <p class="h3">Categories</p>
                                <div class="float-right">
                                    <a class="btn btn-primary text-right" href=""><i class="mr-2 fas fa-plus"></i>Add</a>
                                </div>
                            </div>
                            <table class="table table-bordered table-hover">
                                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值