1.Django的模板语言(简而言之,字符串替换)

  1.目前为止已经学过的模板语言:

    1.{{ name }}  ------>变量

    2. for 循环:

      {% for i in book_list %}

        {{ forloop.counter }}

        {{ forloop.last }}

        {{ i }}

      {% endfor %}

    3.if 判断:

      {% if 10 > 5%}

        要执行的操作

      {% else %}

        要执行的操作

      {% endif %}

    4.if 值 in 判断条件:

      {% if name in name_list %}

        要执行的操作

      {% endif % }

案例案例:   

url(r'^t_test/',views.template_test)
# Django 模板语言测试代码
def template_test(request):
name = "小黑"
age = 18
name_list = [1, 2, 3, 4, 5, 6]
name_dict = {"first_name": "小黑", "last_name": "小白"}
p1 = Person("Person对象1", 20)
p2 = Person("Person对象2", 25)
p_list = [p1, p2]
return render(
request,
't_test.html',
{
"name": name,
"age1": age,
"name_list": name_list,
"name_dict": name_dict,
"person1": p1,
"person2": p2,
"p_list": p_list
}
)
# 模板语言测试的类
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age def dream(self):
return "{}在做梦".format(self.name) # 控制对象输出的格式
def __str__(self):
return "<Person Object:{}>".format(self.name) # python2中的方法
def __unicode__(self):
return "<Person Object:{}>".format(self.name)

案例前端:

<h1>这是模板语言测试的案例</h1>
{{ name }}
<hr>
{{ age1 }}
<hr>
{{ bucunzai }}
{{ bucunzai|default:"这个变量并没有传值,使用的是默认值" }}
<hr>
{{ name_list }} {#得到一个列表#}
<ul>
{% for name in name_list %}
<li>name</li>
{% endfor %}
</ul>
{{ name_list.0 }} <hr>
{{ name_dict }}
{{ name_dict.first_name }} | {{ name_dict.last_name }}
<hr>
{{ person1 }}
{{ person1.name }} {{ person1.age}}
{{ person1.dream }} <hr>
{{ p_list }}
{{ p_list.1.name }}

结果:

最新文章

  1. seL4环境配置
  2. vim操作
  3. asp之缓存 cachestate
  4. C#注册表的读,写,删除,查找
  5. Android屏幕禁止休眠的方法
  6. mysql——第一次学习记的笔记
  7. Transact-SQL的除法问题
  8. 通过分析WP的代码来学习PHP。1
  9. Jstl标签库/Filter过滤器
  10. SQL Server未找到或无法訪问server问题解决
  11. linux文件系统和mount(硬盘,win分区,光驱,U盘)
  12. java.io.serializable
  13. C++对象模型2--指针cout结果
  14. android 卸载程序、清除数据、停止服务用法
  15. mysql中timestamp的自动生成与更新
  16. linux设置时间服务器
  17. Task 编程中的异常处理
  18. fileInput实战总结
  19. [bzoj1999]树网的核
  20. 命令行界面的C/S聊天室应用 (Socket多线程实现)

热门文章

  1. Pod 私有仓库构建
  2. OC和Cocos-js的互相调用
  3. 什么是Java中的自动拆装箱
  4. python库之lightgbm
  5. CF 1063B Labyrinth
  6. JSOI 2008 魔兽地图
  7. java8 list、map遍历以及反射
  8. 自定义Collection View布局
  9. gulp是什么?
  10. 《DSP using MATLAB》Problem 8.35