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