Django简单应用之8 补充内容

←转到第七章
✈回到首页


8.1 Templates过滤器:

1)定义
写在模板中,属于Django模板语言,可以修改模板中的变量,从而显示不同的内容。
2)如何使用
{{value |filter}}:
例:{{list_nums|length}}
过滤器可叠加:{{value|filter|filter2|…}}
例如:
Django简单应用之8 补充内容_第1张图片
如果我们删除掉if—else语句,那么此时新建文章的article_id为空串,而在view中新建文章的判断是由id==“0”进行的,所以尽管我们可以进入到新建文章界面但是无法提交新完成的文档。
Django简单应用之8 补充内容_第2张图片
因此,我们可以修改article_id的value
Django简单应用之8 补充内容_第3张图片
从而实现新旧博客的区分。

8.2 Django Shell

1)定义
是一个python的交互式命令行程序,它自动引入了我们的项目环境,可以使用它与项目进行交互。
2)使用:
python manage.py shell → from blog.models import Article → Article.objects.all()
Django简单应用之8 补充内容_第4张图片
3)作用
①可以使用Django shell 来进行调试工作
②测试未知方法
在这里插入图片描述
可以用于检验输出结果类型等。

8.3 Admin增强

1)概要
经过前面的设计,admin界面中blog管理已经可以显示Title了,但是这样显得过于单调:
Django简单应用之8 补充内容_第5张图片
2)步骤:
①创建admin配置类:
class ArticleAdmin(admin.ModelAdmin)
注册:admin.site.register(Article,ArticleAdmin),将Article和配置类绑定在一起。
②显示新字段:
list_display = ( ‘title’ , ‘content’ )就可以了,list_display同时支持tuple和list,但是字段名一定是字符串:
Django简单应用之8 补充内容_第6张图片
效果:
Django简单应用之8 补充内容_第7张图片
3)既然到了这里,不妨再添加一个发布日期:
①在admin.py中给Article添加新的发布日期属性:
pub_time = models.DateTimeField(auto_now = True)
②回到命令行:
在这里插入图片描述
移植:
在这里插入图片描述
③修改list_display:
在这里插入图片描述
即可:
Django简单应用之8 补充内容_第8张图片
注:如果想要自行调节时间,可以将auto_now=True 修改为null = True别忘记移植。
Django简单应用之8 补充内容_第9张图片
④过滤器:
在admin.py中添加list_filter = ( ‘pub_time’,):
在这里插入图片描述

即可:
Django简单应用之8 补充内容_第10张图片


✈回到首页                                                                                                                                      转到第七章→

你可能感兴趣的:(整理类)