django——个人博客之分页/筛选功能
在完成了注册、登录后就应该显示主页,在主页中有各种功能的按钮,用户点击后进入后台管理,不同角色的用户根据权限不同显示的页面是不相同的,在个人博客页面会显示自己发布的文章,以及自己的保障记录,在进入后台管理后可以对这些文章进行增删改查,对保障单进行查看,下面分成两个方面来进行分析。
1、个人博客的显示
在进入博客页面后需要对个人的文章进行增删改查,这里主要针对数据库的操作,再查出文章后如果文章列表过多的话则需要对对其进行分页,以及不同关键字的查询功能。数据库的增删改查主要是基于django的modles操作来完成的,只要熟悉相应的models操作即可完成,下面分别是分类筛选功能的展示:
(1)、筛选功能:
其主要是在前端html总做文章,下面是相应的代码:
<div class="condition">
<div class="conditon_title">
<i class="fa fa-search" aria-hidden="true">搜索条件</i>
</div>
<div class="condition-content">
<div>
{% if type_id == 0 %}
<a class="btn btn-small active" href="artical-{{0}}-{{ blog_id }}.html">全部</a>
{% else %}
<a class="btn btn-small" href="artical-{{0}}-{{ blog_id }}.html">全部</a>
{% endif %} {% for row in type_list %}
{% if type_id == row.0 %}
<a class="btn btn-small active" href="artical-{{ row.0 }}-{{ blog_id }}.html">{{ row.1}}</a>
{% else %}
<a class="btn btn-small " href="artical-{{ row.0 }}-{{ blog_id }}.html">{{ row.1}}</a>
{% endif %}
{% endfor %}
</div>
<div class="catagory">
{% if blog_id == 0 %}
<a class="btn btn-small active" href="artical-{{type_id}}-{{0}}.html">全部</a>
{% else %}
<a class="btn btn-small" href="artical-{{type_id}}-{{0}}.html">全部</a>
{% endif %}
{% for row in catagory_list %}
{% if blog_id == row.nid %}
<a class="btn btn-small active" href="artical-{{type_id}}-{{row.nid}}.html">{{ row.title}}</a>
{% else %}
<a class="btn btn-small" href="artical-{{type_id}}-{{row.nid}}.html">{{ row.title}}</a>
{% endif %}
{% endfor %}
</div>
<div class="add"> </div>
</div>
</div> 而后台只是根据上面所对应的url对数据进行相应的增删改查,完成后放到前端进行显示即可,这点注意进行理解。 (2)、页码的显示 对取出来的东西进行分页时,参照已经封装好的page函数进行编写,最后放到页面进行显示即可。 2、保障系统的管理; 报障系统需要与权限挂钩,普通用户、老板以及工程师之间所显示的菜单都是有区别的
普通用户:只能填写故障的内容,然后查看故障处理的状态,以及详细的解决方案。
工程师:可以查看故障的具体情况,可以进行抢单,抢单完成后对订单进行编辑,并且还有自己的问题库,可以查看前期自己解决过的所有问题,
以大大增加解决问题的效率。
老板:可以看到所有工程师的工作情况,并显示所有工程师不同时间段处理订单的量。 在写的过程中需要注意下面几个问题:
在进行url跳转后需要对登录情况进行验证,防止其他人伪造url进行登陆后的破坏
在抢单完成后需要及时对问题的状态进行更改
接单的时候需要同时查看订单的状态以防止在抢订单过程中别人抢走,造成重复抢单的情况。
页面上对报障的功能根据状态的不同而有不同的显示,需要在前端对状态进行判断,根据不同的状态显示不同菜单。 个人博客总比较主要的几个问题都已进行记录,下篇文章将对在blog开发过程中存在的知识点的不足进行总结。
django——个人博客之分页/筛选功能的更多相关文章
- Django 系列博客(十六)
Django 系列博客(十六) 前言 本篇博客介绍 Django 的 forms 组件. 基本属性介绍 创建 forms 类时,主要涉及到字段和插件,字段用于对用户请求数据的验证,插件用于自动生成 h ...
- Django 系列博客(十)
Django 系列博客(十) 前言 本篇博客介绍在 Django 中如何对数据库进行增删查改,主要为对单表进行操作. ORM简介 查询数据层次图解:如果操作 mysql,ORM 是在 pymysql ...
- 纯django开发博客系统
企业级教程:纯django开发博客系统 1.视频教程 https://www.duanshuilu.com/ 2.教程文档 https://www.duanshuilu.com/ 0.课程简介1.简价 ...
- Django搭建博客网站(四)
Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...
- Django搭建博客网站(三)
Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...
- Django练习——博客系统小试
在上一篇博客Todolist的基础上(http://blog.csdn.net/hcx25909/article/details/24251427),本周继续进行实践,这次我要搭建一个简单的博客系统. ...
- Django 系列博客(十三)
Django 系列博客(十三) 前言 本篇博客介绍 Django 中的常用字段和参数. ORM 字段 AutoField int 自增列,必须填入参数 primary_key=True.当 model ...
- Django 系列博客(十二)
Django 系列博客(十二) 前言 本篇博客继续介绍 Django 中的查询,分别为聚合查询和分组查询,以及 F 和 Q 查询. 聚合查询 语法:aggregate(*args, **kwargs) ...
- Django 系列博客(七)
Django 系列博客(七) 前言 本篇博客介绍 Django 中的视图层中的相关参数,HttpRequest 对象.HttpResponse 对象.JsonResponse,以及视图层的两种响应方式 ...
随机推荐
- pandas.DataFrame的pivot()和unstack()实现行转列
示例: 有如下表需要进行行转列: 代码如下: # -*- coding:utf-8 -*- import pandas as pd import MySQLdb from warnings impor ...
- yum 安装 python-pip 失败解决方法
这个包在EPEL源里,要添加EPEL源才可以.然后按博客里说的方法添加,执行以下命令: sudo rpm -ivh epel-release* 第一种方式:由于epel在禁用列表里需要另外加参数yum ...
- THINKphp中复杂的查询
字符串拼接查询 案例一:拼接字符串(多条件查询) $where = ''; //定义字符串,用于拼接满足条件的数据字段 $value = []; // 定义空数组,用于接收值 if(!empty($n ...
- RocketMQ4.3.X关于设置useEpollNativeSelector = true报错问题
前一阵子刚整理完RocketMQ4.3.x版本的相关配置的工作,接下来就来测试一下改变参数会带来什么好的结果 首先我就选中了useEpollNativeSelector 这个参数 默认这个参数是 fa ...
- 利用Python爬取网页图片
最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...
- python标准日志模块logging及日志系统设计
最近写一个爬虫系统,需要用到python的日志记录模块,于是便学习了一下. python的标准库里的日志系统从Python2.3开始支持.只要import logging这个模块即可使用.如果你想开发 ...
- 基于令牌桶算法实现的SpringBoot分布式无锁限流插件
本文档不会是最新的,最新的请看Github! 1.简介 基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot.SpringCloud应用,支持接口限流.方法限流.系统限 ...
- nginx配置默认首页(index.htnl index.htm)全流程(包含遇到问题的解决)
需求: 自己有个域名,原来直接扔在了服务器的文件夹里(根据客服人员指导),自己玩了一遍nginx的安装部署等操作之后,域名的指向发生了改变,到了nginx成功的界面. 自己抱着极大的好奇心来配置ngi ...
- [题解]图的m着色问题
图的m着色问题(color) [题目描述] 给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的 ...
- Linux下网络配置与修改Centos7为列
一.基础知识 手动绑定: 命令 一般是临时的修改,重启后失效,如:ifconfig.route.ip addr等. 修改配置文件 修改文件配置,永久有效,但是可能不能立即生效,需要重启服务 (serv ...