django学习日志(模板的渲染过程)第四部分:模板流程控制和运算
(基本语法)
- 修改文件 WhatsTemplate\App\models.py 添加一个属性
class Dog(models.Model):
dname = models.CharField(max_length=20,)
dgender = models.NullBooleanField(default=None)
dfood = models.CharField(max_length=20)
#武力值
dkill = models.IntegerField(default=0)
-
执行数据迁移
python manage.py makemigrations
python manage.py migrate -
向表中添加数据 (dkill字段)
-
修改WhatsTemplate\templates\dogs.html
-
数据加减乘除
<!-- {{ data.resultCode}}-->
藏獒的战斗力是:{{ dogs.1.dkill }}<br>
战斗力 + 10:{{ dogs.1.dkill | add:10 }}<br>
战斗力 - 10:{{ dogs.1.dkill | add:-10 }}<br>
战斗力 * 2:{% widthratio dogs.1.dkill 1 2 %}<br>
战斗力 / 2:{% widthratio dogs.1.dkill 2 1 %}<br>
</body>
- 启动服务 python manage.py runserver
- 打开网址 http://127.0.0.1:8000/app/showdogs/
- 修改数据
- 修改WhatsTemplate\templates\dogs.html
- 大小写转换
我的宠物名叫:{{ dogs.2.dname }}<br>
我的宠物名叫:{{ dogs.2.dname | upper }}<br>
我的宠物名叫:{{ dogs.2.dname | lower }}<br>
</body>
-
遇到的问题:
在使用Pycharm编写Django模板时,要用到一些特殊的格式,比如
{{ … }},{% if %} {% bolck %}等等,如果不设置Pycharm,只能一个符号一个符号的输入 -
解决问题
-
if 条件语法
-
修改WhatsTemplate\templates\dogs.html
<h3>条件判断</h3>
{% for dog in dogs %}
{% if dog.dkill > 80 %}
{{ dog.dname }}战斗力爆表
{% elif dog.dkill > 40 and dog.dkill <= 80 %}
{{ dog.dname }}战斗力一般般
{% else %}
{{ dog.dname }}渣渣灰
{% endif %}
<br>
{% endfor %}
</body>
</html>