- 首先是在models中,自定义ModelManager对象。并对创建函数进行重新编写。
class PersonManager(models.Manager):
def get_queryset(self):
return super(PersonManager, self).get_queryset().all()[1:5]
def create(self, p_name='Nice'):
p = self.model()
p.p_name = p_name
return p
- 重新编写了Manger对象之后。在model中重新定义。p_manager = PersonManager()。在编写业务逻辑的时候,就可以
直接使用Person.p_manager对象。 - 如果使用p_manager中的all(),那就是直接调用get_queryset函数。
def query_persons(request):
persons = Person.p_manager.all()
context = {
"persons": persons
}
return render(request, 'db_list.html', context=context)
- 接下来就是在templates中使用标签。
- 首先就是之前在前几天学习中使用的for语句
- {{forloop.counter}}表示当前是第几次,从1开始数
- {{forloop.counter0}}表示当前是第几次,从0开始数
- {{forloop.recounter}}表示倒着数,直到1结束
- {{forloop.recouner0}}表示倒着数,直到0结束
- {{forloop.first}}是否为第一个,返回布尔值
- {{forloop.last}}是否为倒数的一个,返回布尔值
{% for user in persons %}
<tr>
<td>{{ user.p_name }}</td>
<td>{{ user.get_name }}</td>
</tr>
{%empty%}
<!--如果为空,就使用这一条件下的代码。-->
{% endfor %}
{% if 表达语句%}
语句
{% else 表达语句%}/{% elif 表达语句%}
语句
{% endif %}
- 单行注释 {# 注释内容 #}
- 多行注释 {% comment %} 注释内容 {% endcomment %}
- 乘除 {% widthratio 数 分母 分子 %}