django 将不会将得到的html代码自动转化

from django.utils.html import format_html

html =''' <a href='http://www.china.cn'>中国</a>'''

format_html(html)  

django分页

分页功能基本操作

from django.core.import Paginator

li=[11,12,13,22,24,25]
p=Paginator(li,3) #将li传入,每页显示3条
p.count 6 共有多少个元素
p.num_pages 2 共有多少页
p.page_range (1,3) 页码范围
p1=p.page(1) 取第一页
p2=p.page(2) 取第二页
p1.object_list [11,12,13] 页码的元素列表
p1.number 1 查询自己是多少页
p1.has_next() True 是否有下一页
p1.has_previous() False 是否有上一页
p1.has_other_pages() True 是否有其他页
p1.next_page_number() 2 下一页的页码
p1.previous_page_number() 上一页的页码

后端代码 views.py

from django.shortcuts import render
from django.core.paginator import Paginator,EmptyPage, PageNotAnInteger
from app import models def index(request):
article_obj = models.Aticle.objects.all()
paginator = Paginator(article_obj,5)
page = request.GET.get('page')#取到url的page值 www.xxx.com/?page=xxx
try:
contacts = paginator.page(page)
except PageNotAnInteger:
#如果不是page不是数字
contacts = paginator.page(1)
except EmptyPage:
#如果page不存在 即超出范围
contacts = paginator.page(paginator.num_pages)
return render(request,'duanzi/index.html',{'contacts': contacts,})

前端代码

{% load tags %}
<!DOCTYPE html>
<html>
<head> <title>django web</title>
</head>
<div class='content'>
{% for article in contacts %}
<a href="{% url "article" article.id %}" target="_blank">{{ article.title }}</a>
{%endfor%}
</div>
<div class="page">
<a href="{% url 'index' %}">首页</a>
{% if contacts.has_previous %}
<a href="?page={{ contacts.previous_page_number }}">上页</a>
{% endif %}
{% for pagenum in contacts.paginator.page_range %}
{% www 'pagenum contacts.number' as Y %}
{% if Y %} {% if pagenum == contacts.number %}
<span class="current">{{ pagenum }}</span>
{% else %}
<a href="?page={{ pagenum }}">{{ pagenum }}</a>
{% endif %}
{% endif %}
{% endfor %}
{% if contacts.has_next %}
<a href="?page={{ contacts.next_page_number }}">下页</a>
{% endif %}
<a href="?page={{ contacts.paginator.num_pages }}">尾页</a>
</div>

前端代码

在app在新建templatetags模块文件夹,再新建一个tags.py文件

tags.py文件代码

from django import template

register = template.Library()

@register.simple_tag
def www(pagenum,num):
if -4<=pagenum-num<=4:
return True
else:
return False templetatag 主要用到两个类 @register.filter 作为过滤方法使用 只能添加一个参数 模板中的应用方法为{% args | 函数名 %} @register.simple_tag 可以添加两个参数 模板中的应用方法为{% 函数名 参数1 参数2 } 扩展方法: as方法
{% 函数名 参数1 参数2 as y } 赋值为x 同python as方法一样

使用时在html文件 使用load方法{% load tags %}  tags:文件名

官方手册

https://docs.djangoproject.com/en/1.9/topics/pagination/

https://docs.djangoproject.com/es/1.9/howto/custom-template-tags/

django分页功能,templatetags的应用的更多相关文章

  1. Django 分页功能

    Django 分页功能比较强大,这边是结合官网的内容写的可以参考 https://docs.djangoproject.com/en/1.9/topics/pagination/ 分页命令行练习案列 ...

  2. Django——分页功能Paginator

    Django分页功能----Paginator Paginator所需参数: Paginator(object_list,per_page) Paginator常用属性: per_page: 每页显示 ...

  3. 2 django系列之django分页与templatetags

    preface 当页面出现的条目多的时候,我们就需要使用分页功能了.Django作为一个知名的web框架,自然也提供了分页功能,下面说说它. Python-shell 练练手 在python下入手 先 ...

  4. django分页功能实现

    django内置的分页功能需要引入内置模块from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger Pagina ...

  5. [oldboy-django][2深入django]分页功能

    1 django自带分页 1.1 分页模板 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  6. django分页功能

    采用django自带的Paginator功能 from django.core.paginator import Paginator food = foodInfo.objects.filter(fo ...

  7. Django自定制分页功能

    URL: """django_paginner URL Configuration The `urlpatterns` list routes URLs to views ...

  8. django 分页组件

      一.仿django分页功能自己实现 urls.py 1 2 3 4 5 6 7 8 9 from django.conf.urls import url from django.contrib i ...

  9. python_way day18 html-day4, Django路由,(正则匹配页码,包含自开发分页功能), 模板, Model(jDango-ORM) : SQLite,数据库时间字段插入的方法

    python_way day18 html-day4 1.Django-路由系统   - 自开发分页功能 2.模板语言:之母板的使用 3.SQLite:model(jDango-ORM) 数据库时间字 ...

随机推荐

  1. 重庆OI2017 小 Q 的棋盘

    小 Q 的棋盘 时间限制: 1 Sec  内存限制: 512 MB 题目描述 小Q正在设计一种棋类游戏.在小Q设计的游戏中,棋子可以放在棋盘上的格点中.某些格点之间有连线,棋子只能在有连线的格点之间移 ...

  2. Android一键换肤功能:一种简单的实现

     Android一键换肤功能:一种简单的实现 现在的APP开发,通常会提供APP的换肤功能,网上流传的换肤代码和实现手段过于复杂,这里有一个开源实现,我找了一大堆,发现这个项目相对较为简洁:htt ...

  3. [繁华模拟赛]Evensgn 剪树枝

    Evensgn 剪树枝 题目 繁华中学有一棵苹果树.苹果树有 n 个节点(也就是苹果),n − 1 条边(也就 是树枝).调皮的 Evensgn 爬到苹果树上.他发现这棵苹果树上的苹果有两种:一 种是 ...

  4. [bzoj3676]回文串[后缀数组+Manacher]

    后缀数组+Manacher #include <iostream> #include <cstdio> #include <cstdlib> #include &l ...

  5. nyoj_71_独木舟上的旅行_201312122051

    独木舟上的旅行 时间限制:3000 ms  |           内存限制:65535 KB 难度:2   描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能 ...

  6. php表单常用正则表达式

    <?php /** * @description: 正则表达式匹配 */ class Regex { /** * @手机号 */ public static function Phone($su ...

  7. Python开发工具安装

    v阅读目录 v写在前面 v基本概念 vWindows搭建python开发环境 v从Hello World开始 v博客总结 v博客前言 从大学开始玩python到现在参加工作,已经有5年了,现在的公司是 ...

  8. MVC.Net5:添加Tinymce的图片上传功能

    Tinymce是目前几个主流的Web文本编辑器之一,不过它的图片上传功能是要收费的,而其它几个免费的上传图片的插件支持的都是PHP.那么就只能自己动手写一个了(源代码下载). 准备工作如下:1.   ...

  9. C语言之基本算法40—字符串删除元音字母倒序输出

    //字符串,数组 /* ================================================================== 题目: 输入一行字符,将辅音字母按反序输出 ...

  10. Git版本号控制:Git分支处理

    http://blog.csdn.net/pipisorry/article/details/46958699分支的意义创建分支能够避免提交代码后对主分支的影响,同一时候也使你有了相对独立的开发环境. ...