django——入门5
一、补充内容
一、Templates 过滤器
1、什么是过滤器
写在模板中(即 html 中),属于 Django 模板语言;
可以修改模板中的变量,从而显示不同的内容;
2、怎么使用过滤器
{{ value | filter }}
例子:{{ list_nums | length }}
过滤器可叠加:{{ value | fither1 | fither2 | fither3 | … }}
3、具体操作
<1>、先修改 edit_page.html
去掉 if : django模板如果出现了一些不存在的变量,它是不会报错的,只会给出一个空值,即空字符串;
操作后,对 修改文章 与 新建文章 这两个功能都不影响;
但我们的 aritcle.id 在新建文章的时候必须是 0 ,如果传了一个空字符串回去一定会报错;
例如:新建文章时提交后会报错
<2>、添加过滤器
default:‘默认值’
<3>、效果
<4>、作用
大大减少工作量和代码量
4、更多的Django内建过滤器
旧版: http://docs.djangoproject.com/en/1.10/ref/templates/builtins/#ref-templates-builtins-filters
网上版本: http://shouce.jb51.net/django-chinese-docs-18/4_2_2_Built-in%20tags%20and%20filters.html
https://docs.djangoproject.com/en/3.0/contents/
二、Django Shell
1、什么是Django Shell?
它是一个 Python 的交互式命令行程序;
它自动引入了我们的项目环境;
我们可以使用它与我们的项目进行交互;
2、如何使用 Django Shell(用命令行)?
启动:python manage.py shell
from blog.models import Article
Article.objects.all()
退出:quit() / exit
列表只显示了标题的原因:
3、作用
我们可以使用 Django Shell 来进行一些调试的工作;
用来测试未知的方法;
例如:Article.objects.all().values()
当我中的它可以返回对象所有的值,但不确定它返回的值是我们格式,那么我就可以先再 Django shell 中先试一下再使用;
发现它返回了一个列表,列表里面是一个一个字典,每一个字典包含了一个所有对象的所有属性,以键值对的形式;
然后我们就可以有效的使用它了;
三、Admin增强
1、想要在列表内显示更对多的内容或者更多的分类
<1>、改变 admin.py 内 Article类 的注册方式
(1)、创建 admin配置类
class ArticleAdmin(admin.ModelAdmin)
注册:admin.site.register(Article, ArticleAdmin)
刷新浏览器页面没有报错就证明写对了;
(2)、显示其他字段
在刚才的配置类里面加上一条属性:list_display = ( ‘title’, ‘content’ )
list_display 同时支持 tuple 和 list
注意:这里的字段名必须是字符串,而且要和 models 里面的字段名写的一模一样;
刷新页面:
可以点击 TITLE 或者 CONTENT 对列表进行排序:
2、先修改 article 类
<1>、添加一个发布日期:
pub_time = models.DateTimeField(auto_now=True)
记住要把字段添加到 admin.py 里面
<2>、命令行
执行一个数据移植的过程
python manage.py makemigration
python manage.py migrate
刷新页面:
<3>、想要在 admin 中修改日期
记住修改后要再次进行数据移植;
移植后要再次启动程序;
python manage.py runserver
将日期修改为昨天:
3、过滤器
list_filter = ( ‘pub_time’, )
注意:tuple 后面要加一个逗号
功能:
4、更多的详见官方文档
旧版:https://docs.djangoproject.com/en/1.10/ref/contrib/admin/
二、课程总结
课程回顾
1、课程介绍
学习目标及内容;
课程基础知识要求;
2、课前准备
介绍Django;
通过浏览器浏览网页的基本原理;
3、开发环境搭建
安装Python;
安装Django;
开发工具介绍;
4、创建项目及应用
创建项目;
创建应用;
创建第一个页面(响应);
5、第一个Template
重新配置URL;
介绍Templates;
开发第一个Template;
6、Models
介绍Models;
编写博客的Model;
将数据呈现在页面上;
7、Admin
创建超级用户;
配置Admin;
使用Admin修改数据库;
8、完善博客
博客主页面;
博客内容页面;
博客编写页面;
9、补充内容
Templates 过滤器;
Django shell;
Admin 增强;