一、Templates过滤器

过滤器属于django模板语言

修改模板中的变量,从而显示不同内容

{{ value | filter }}

举例:{{ list_nums | length}}    表示list的长度

{{ value | filter | filter | filter }} 可叠加

django模板如果出现了不存在的变量,不会报错,只会给出空值

因此修改add_article.html   去掉{{% if *** %}} 添加过滤器default

<!DOCTYPE html>
<html>
<head>
    <title>增加新文章</title>
</head>
<body>
<form action="{% url 'blog:sub_article' %}" method="post">
    {% csrf_token %}

        <input type='hidden' name='article_id' value="{{ article.id | default:'0' }}">
        文章标题<input type="text" name='title' value='{{ article.title }}'/>
        <br>
        文章内容<input type="text" name='content' value='{{ article.content }}'/>
        <br>
        <input type="submit" value="提交">

</form>
</body>
</html>

二、Django shell

Python交互式命令行程序

自动引入项目环境

可以使用它和项目进行交互

启动django shell

pyhton manage.py shell

交互举例:

from blog.models import Article

Article.objects.all()

作用:1)调试工作  2)测试未知的方法

三、Admin增强

注册Admin配置类:

class ArticleAdmin(admin.ModelAdmin)

注册:admin.site.register(models.Article,ArticleAdmin)

显示其他字段

list_diplay = ('title','content')   (就是models里的字段名)

admin.py中如下:

from django.contrib import admin
from . import models
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title','content')

admin.site.register(models.Article,ArticleAdmin)

Admin过滤器

list_diplay = ('pub_time',)

注意tuple中只有一个成员,要加逗号

在models。py中Article类添加发布日期

from django.db import models

# Create your models here.
class Article(models.Model):
    title = models.CharField(max_length=32,default='title')
    content = models.TextField(null=True)
    pub_time = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

数据移植(才可以在数据库中显示)

执行  python manage.py makemigrations

再执行 python manage.py migrate

生成了数据表

在admin.py中添加过滤器:

from django.contrib import admin
from . import models
# Register your models here.
class ArticleAdmin(admin.ModelAdmin):
    list_display = ('title','content','pub_time')
    list_filter = ('pub_time',)

admin.site.register(models.Article,ArticleAdmin)

Django学习(九)---Templates过滤器及Django shell和Admin增强的更多相关文章

  1. Python Django 学习 (二) 【Django 模型】

    注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...

  2. Django学习笔记(4)——Django连接数据库

    前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...

  3. python Django 学习笔记(五)—— Django admin自动管理界面

    1,激活管理界面 修改settings.py MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.c ...

  4. Django学习笔记(13)——Django的用户认证(Auth)组件,视图层和QuerySet API

    用户认证组件的学习 用户认证是通过取表单数据根数据库对应表存储的值做比对,比对成功就返回一个页面,不成功就重定向到登录页面.我们自己写的话当然也是可以的,只不过多写了几个视图,冗余代码多,当然我们也可 ...

  5. python Django 学习笔记(一)—— Django安装

    注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...

  6. Django学习笔记(一)Django基础

    新建项目 django-admin startproject my_site #会在当前目录新建my_site目录,可自行修改目录名 django-admin startproject my_site ...

  7. Django学习笔记(二)——django数据库的使用

    1.模型——SQLite3数据库使用 使用django的数据库必须创建一个app python manage.py startapp check  创建app 此时manage.py的目录下会多一个c ...

  8. Python Django 学习 (一) 【Django 框架初探】

    1. 简介: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.2008年9月发布第一个版本,目前的Django版本应该是2.1. 2. 本文的环境 OS : W ...

  9. 【Python】Django学习一:第一个Django程序

    项目开发环境 Python 3.6 Django 1.11.5 Django安装 在开始安装Django之前,Django更新比较频繁,所以要选择合适的版本,这里选择Django1.11.5. pip ...

随机推荐

  1. 谷歌安装器扫描时提示“需要root权限”,不用root也可以的!

    能FQ的用户会用谷歌服务,一般的新手机没有安装谷歌框架,但是在用谷歌安装器安装谷歌市场时会提示"需要root权限",我用的是360手机,按照下面的教程搞好了: 安装完GSM包就可以 ...

  2. Akka(5): ConsistentHashing Router - 可选定Routee的任务分配模式

    上一篇讨论里我们介绍了几种任务分配(Routing)模式.Akka提供的几种现成智能化Routing模式大多数是通过对用户屏蔽具体的运算Routee选择方式来简化Router使用,提高智能程度,所以我 ...

  3. Java IO流--练习2

    1)写一个Java程序,输入3个整数,并求出三个数的最大数和最小数 代码: package 第十二章IO流; import java.io.BufferedReader; import java.io ...

  4. Coursera 机器学习笔记(四)

    主要为第六周内容机器学习应用建议以及系统设计. 下一步做什么 当训练好一个模型,预测未知数据,发现结果不如人意,该如何提高呢? 1.获得更多的训练实例 2.尝试减少特征的数量 3.尝试获得更多的特征 ...

  5. 简化布隆过滤器——BitMap

    简化布隆过滤器--BitMap 前言 前段开发项目试就发现,一部分的代码实现存在着一些性能上的隐患.但当时忙于赶进度和由于卡发中的不稳定因素,想了许多解决方案也没有机会实施.最近,正好趁个机会进行一系 ...

  6. java原生实现屏幕设备遍历和屏幕采集(捕获)等功能

    前言:本章中屏幕捕获使用原生java实现,屏幕图像显示采用javacv1.3的CanvasFrame 一.实现的功能 1.屏幕设备遍历 2.本地屏幕图像采集(也叫屏幕图像捕获) 3.播放本地图像(采用 ...

  7. CSS 公共样式

    global.css | reset.css(格式化样式) common.css(公共组件样式) layout.css(当前页面样式) 清除全站所有页面的浏览器默认样式,保证在初始样式在所有浏览器下一 ...

  8. 单例模式与静态变量在PHP中

    在PHP中,没有普遍意义上的静态变量.与Java.C++不同,PHP中的静态变量的存活周期仅仅是每次PHP的会话周期,所以注定了不会有Java或者C++那种静态变量. 1. 静态变量在PHP中 在PH ...

  9. kali系统破解WPA密码实战

    上次发布过一篇在OSX系统破解WIFI密码的教程, 这次发布一篇使用kali破解wifi的教程 WEP和WPA/PSK的区别 WPA/PSK的加密方式相对于WEP的加密方式更加安全,WEP是一种老式的 ...

  10. App测试札记

    App测试札记 测试应该收集信息 测试应该问问题 测试应该扮演不同角色 测试应该如实反馈 初学者 有哪些可以利用的信息?需求,技术方案,测试设计,现有功能,相关人员 App会在哪些环境下运行 App会 ...