码迷,mamicode.com
首页 > 其他好文 > 详细

2014-10-26 Django要点

时间:2014-10-27 11:06:16      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:django   python   

一、{% block content %} {% endblock %}的作用

在模板继承中使用,子模板中的{% block content %}与{% endblock %}之间的内容会覆盖父模板中的

{% block content %}与{% endblock %}之间的内容。


二、forloop.counter0|divisablely:2

含义:循环从0开始计数(默认从1开始计数),过滤器含义为可被2整除。一般用在循环条件判断中。


三、admin自定义界面

bubuko.com,布布扣

如图。分别实现了搜索、展示、过滤、分类、排序功能。


四、过滤条件采用正则匹配式

例子:Books.objects.filter( title__iregex = r ‘(P|p|O)’)


五、模型类之间外键多对多与一对多关系的用法

bubuko.com,布布扣

如上图:有以下几点总结:

  1. 多对多正向访问:已知Book对象时,可通过*.authors.values循环访问Author对象。

    books=Book.objects.all()

    for i in books:

        for j in i.authors.values:

            print j.first_name


2.多对多反向访问:已知Author对象时,可通过*.relate_name.all循环访问Book对象。

    authors=Author.objects.all()

    for i in authors:

        for j in i.relate_name.all:

            print j.title

(Notice:relate_name是在Book中的authors字段中定义的。

如:authors=models.ManyToManyField(Author,relate_name=‘Book_Author‘)


3.一对多的正向访问:已知Book对象时,可通过*.publisher.*直接访问Publisher对象。

    books=Book.objects.all()

        for i in books:

           print i.publisher.name


4.一对多反向访问:已知Publisher对象时,可通过*.relate_name.*直接访问Book对象。

    publishers=Publisher.objects.all()

        for i in publishers:

           print i.relate_name.title

(Notice:relate_name是在Book中的publisher字段中定义的。

如:publisher=models.ForeignKey(Publisher,relate_name=‘Book_Publisher‘)


六、Django debugtools调试工具

安装步骤:

  1. pip install django-debugtools

  2. 在setting.py中的INSTALLED_APPS中将‘debugtools’添加。

  3. 在模板页面可直接print后台传出的数据。


完。

本文出自 “蓝鳍豚” 博客,请务必保留此出处http://likunheng.blog.51cto.com/9527645/1568288

2014-10-26 Django要点

标签:django   python   

原文地址:http://likunheng.blog.51cto.com/9527645/1568288

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!