Django之便签生成

myblog_tag.py

#coding:utf-8
__author__ = ‘similarface‘from django import template

register=template.Library()

from  ..models import Post

@register.simple_tagdef total_posts():    ‘‘‘    文章总数    :return:返回发布的文章总篇数    ‘‘‘    return Post.published.count()

模版:

{% load blog_tags %}
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
    <link href="{% static "css/blog.css" %}" rel="stylesheet">
</head>
<body>
    <div id="content">
        {% block content %}
        {% endblock %}
    </div>
    <div id="siderbar">
        <h2>我的博客</h2>
        <p>目前已写文章总数 {% total_posts %} .</p>
    </div>
</body>
</html>

看下面,哦,还是挺丑的

纳尼 这也太low了

go on add myblog_tag.py here:

@register.inclusion_tag(‘myblog/post/latest_posts.html‘)
def show_latest_posts(count=5):
    ‘‘‘
    最新count篇文章
    :param count: 文章的篇数 默认5篇
    :return:最新count篇文章的对象
    ‘‘‘
    latest_posts=Post.published.order_by(‘-publish‘)[:count]
    return {‘latest_posts‘:latest_posts}
#myblog/post/latest_posts.html:
<ul>
    {% for post in latest_posts %}
        <li>
            <a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
        </li>
    {% endfor %}
</ul>

模版修改下:

<div id="siderbar">
        <h2>我的博客</h2>
        <p>目前已写文章总数 {% total_posts %} .</p>
        <h3>最新文章</h3>
        {% show_latest_posts 3 %}
    </div>

哦 原来是个??。。。

哦 你再改改试试

#coding:utf-8
__author__ = ‘similarface‘
from django import template
from django.db.models import Count
register=template.Library()
from  ..models import Post

@register.simple_tag()
def total_posts():
    ‘‘‘
    文章总数
    :return:返回发布的文章总篇数
    ‘‘‘
    return Post.published.count()

@register.inclusion_tag(‘myblog/post/latest_posts.html‘)
def show_latest_posts(count=5):
    ‘‘‘
    最新count篇文章
    :param count: 文章的篇数 默认5篇
    :return:最新count篇文章的对象
    ‘‘‘
    latest_posts=Post.published.order_by(‘-publish‘)[:count]
    return {‘latest_posts‘:latest_posts}

@register.assignment_tag
def get_most_commented_posts(count=5):
    ‘‘‘
    返回评论最多的前count篇文章
    :param count:默认为5
    :return:返回评论最多的前count篇文章
    ‘‘‘
    return Post.published.annotate(total_comments=Count(‘comments‘)).order_by(‘-total_comments‘)[:count]

模版:

<div id="siderbar">
        <h2>我的博客</h2>
        <p>目前已写文章总数 {% total_posts %} .</p>
        <h3>最新文章</h3>
        {% show_latest_posts 3 %}
        <h3>最受欢迎的文章</h3>
        {% get_most_commented_posts as most_commented_posts %}
        <ul>
            {% for post in most_commented_posts %}
            <li>
                <a href="{{ post.get_absoulte_url }}">{{ post.title }}</a>
            </li>
            {% endfor %}
        </ul>
    </div>

尼玛这。。。感觉记不住

时间: 2024-10-13 23:32:08

Django之便签生成的相关文章

锤子便签的 monkeyrunner 测试脚本(转)

https://testerhome.com/topics/878 MonkeyRunner可能大家已经听过无数次了,大家在网上也看过了各种关于的它的资料了,我这里就不再过多的啰嗦它的用途了,它可以对app做功能测试也可以对手机Rom做功能测试,在没有app源码的情况下monkeyrunner可以做到很好的功能测试.MonkeyRunner有一个录制脚本的工具和回放的功能,大家去下载monkeyrecody.py和monkeyplayback.py这两个脚本就可以了,这个我这里也不讲了,网上去g

Android轻量级便签应用项目源码

作者Jhuster,源码JNote,一款支持部分Markdown语法的轻量级便签软件.应用说明:一款轻量级的便签软件,界面简单干净,绿色无广告.支持部分Markdown语法,可以方便地输入和预览Markdown文本,并且生成长微博图片保存到本地. 详细说明:http://android.662p.com/thread-6420-1-1.html <ignore_js_op> <ignore_js_op><ignore_js_op> <ignore_js_op>

Android Widget 开发实例:桌面便签程序的实现详解和源码

桌面便签软件是Android上常用软件的一种,比如比较早的Sticky Note,就曾非常流行,而实际上使用android平台对widget开发的支持,桌面便签类软件是非常易于开发的. 本文通过逐步实现一个简单的桌面便签软件,和大家分享进行widget开发的过程和方法. 同时本程序提供完整的工程源码下载 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com 具体下载目录在 /pub/Android源码集锦/2011年/10月/An

Android自动化测试 - MonkeyRunner(二) 锤子便签测试脚本

来源于:http://testerhome.com/topics/878 1 # encoding=utf-8 2 3 4 #导入python中自带的time模块和sys模块,脚本中都要用到它们. 5 import time 6 import sys 7 #MonkeyRunner自带的三个api 8 from com.android.monkeyrunner import MonkeyRunner ,MonkeyDevice ,MonkeyImage 9 10 11 #这个函数时确认年月日时分

魅族便签,能否成为国内便签应用的No.1?

继前不久锤子科技推出便签 Android 新版后,最近魅族在PRO 6发布会上也发布了最新的魅族便签应用,这一次魅族把便签应用拓展到了整个Android体系,也就是说,其他任何的Android手机也可以下载使用.当然,除了这两个厂商之外,其他一些厂商也推出了类似的便签应用,便签应用之所以会被厂商所重视,一个重要原因在于,它已成为移动互联网的一项基础应用. 对标锤子,老罗你怎么看? 坦白说,魅族这次将便签应用拓展到整个Android体系,大有与锤子便签对标的意思,那么二者究竟有什么区别,谁更胜一筹

便签一

界面布局文件 """ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android" android:orientation="vertical" android:background="@drawable/s

NABC团队开发-----电子秘书(便签+闹钟+音视频)

团队开发-----电子秘书(便签+闹钟+音视频) 团队博客地址:http://www.cnblogs.com/BWCK/ 队长:崔鹏勃 队员:白杰,王炳午,孔维春 开发项目:便签闹钟 N需求:事情多,爱忘事 ,异地恋等 A做法:需要先将音频录制并保存到手机APP客户端,并设置日期时间 B好处:方便安排,使忙人不再多忘事 C竞争:需要做到界面美观,音视屏,图片,要使顾客可以做到无脑操作.

在ASP.NET程序中用程序动态向&lt;head&gt;便签里添加&lt;meta&gt;标签

在使用ASP.NET框架开发: 若要在Html网页中加入<meta>设置,但想通过程序动态加入: 1.如果是ASP.NET4.0以前版本: 使用HtmlMeta类加入<meta>设置: //首先我们应该创立HtmlMeta类实体(命名空间:System.Web.UI.HtmlControls) HtmlMeta meta1=new HtmlMeta(); meta1.Name="keyword"; meta1.Content="ASP.NET,jQue

win7桌面便签。自带的

新建WIN7下的桌面便签小程序 桌面—>新建 快捷方式-> 输入%windir%\system32\StikyNot.exe