Django学习(九)---Templates过滤器及Django shell和Admin增强
一、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增强的更多相关文章
- Python Django 学习 (二) 【Django 模型】
注: 由于自己排版确实很难看,本文开始使用markdown编辑,希望有所改善 官方定义 A model is the single, definitive source of information ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- python Django 学习笔记(五)—— Django admin自动管理界面
1,激活管理界面 修改settings.py MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.c ...
- Django学习笔记(13)——Django的用户认证(Auth)组件,视图层和QuerySet API
用户认证组件的学习 用户认证是通过取表单数据根数据库对应表存储的值做比对,比对成功就返回一个页面,不成功就重定向到登录页面.我们自己写的话当然也是可以的,只不过多写了几个视图,冗余代码多,当然我们也可 ...
- python Django 学习笔记(一)—— Django安装
注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...
- Django学习笔记(一)Django基础
新建项目 django-admin startproject my_site #会在当前目录新建my_site目录,可自行修改目录名 django-admin startproject my_site ...
- Django学习笔记(二)——django数据库的使用
1.模型——SQLite3数据库使用 使用django的数据库必须创建一个app python manage.py startapp check 创建app 此时manage.py的目录下会多一个c ...
- Python Django 学习 (一) 【Django 框架初探】
1. 简介: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.2008年9月发布第一个版本,目前的Django版本应该是2.1. 2. 本文的环境 OS : W ...
- 【Python】Django学习一:第一个Django程序
项目开发环境 Python 3.6 Django 1.11.5 Django安装 在开始安装Django之前,Django更新比较频繁,所以要选择合适的版本,这里选择Django1.11.5. pip ...
随机推荐
- python爬虫从入门到放弃(七)之 PyQuery库的使用
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严 ...
- webApi签名验证
还是一如既往先上结构图如下: 上一讲说明了redis,也谢谢心态的建议.这里经过改进后的redis的地址 当然这里是加密了的,具体实现如下图: 这里提供的解密. 先把加密解密的帮助类放上来. usin ...
- javascript常用开发笔记:一个简单强大的js日期格式化方法
前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...
- APUE-文件和目录(五)函数rename和renameat
rename和renameat #include <stdio.h> int rename(const char *oldname,const char*newname); int ren ...
- 编写高质量代码改善程序的157个建议:使用Dynamic来简化反射的实现
最近有时间看点书了,把157个建议在重新看一遍,代码都调试一遍.当我看到第15个建议的时候有些出入,就记录下来,欢迎大家来探讨. 第十五条建议是,使用dynamic简化反射的使用,没有说明具体的条件. ...
- php 面向对象的三大特性
<?phpheader("Content-type:text/html;charset=utf-8");/*封装目的:为了使类更加安全做法:1.将成员变量变成私有2.做一个成 ...
- Ajax 跨域提交表单
跨域提交表单,前端ajax不用做任何修改, 只需要在后端调用的方法里面添加一行代码即可. .NET 版 HttpContext.Response.AddHeader("Access-Cont ...
- SQL 调用存储过程
--1调用存储过程 exec 存储过程名 参数 --2当表使用 select a.*,b.* from tb b inner join ( select * from openrowset('sqlo ...
- Linq之关键字基本查询
子句 说明 from 指定数据源和范围变量(类似于迭代变量). where 根据一个或多个由逻辑"与"和逻辑"或"运算符(&& 或 ||)分隔的 ...
- js模版引擎开发实战以及对eval函数的改进
简介 前段时间,想着自己写一个简单的模版引擎,便于自己平时开发demo时使用,同时也算是之前学习的知识的一种总结吧! 首先我们先了解一下模版引擎的工作原理吧! 1. 模版引擎其实就是将指定标签的内容根 ...