简单的Django系统模板
2022-08-03 09:57:03
112
{{single.collect_count}}

据说程序员的苦只有女程序员懂,而学弟的痛也只有学姐了解!还记得当学妹在扣扣微信里问你代码时,你豪言壮语的答应下来,然后半夜偷偷抱着零食去向学姐求救吗?(至于为什么不找学长…那多没意思!!)
偶然想起当初问学姐关于Django系统模板,今天就给大家分享一点基础的吧!
首先大家是否还记得学习Python之初学习到的一个知识点,Python的字符串格式化:

exampleStr = """ 谨定于%s年公历%s月%s日(%s) 农历%s为%s、%s举行婚礼敬备薄酒酌恭候%s、%s夫妇光临%s大酒店, 地址:%s敬约 恕邀 时间:下午%s时恭候"""exampleData = ("2018", "12", "29", "星期一", "三月初一日", "美羊羊", "喜羊羊", "灰太狼", "红太狼", "杨村", "杨村青草路杨村大酒店2楼", "17:30" )result = exampleStr % exampleDataprint(result)

效果如下:

在这里插入图片描述
这个例子很简单,但和web开发有共同的地方,都是需要将数据展示到具体的格式当中,最明显的实例就是类似腾讯qq空间的网站,我们可以切换好多种表达的方式(皮肤),但是内容是不变的。这样就涉及到了一个表达方式和表达内容的区别,Django当中是通过他的模板系统来完成这一工作的。
###############模板系统(template)############
(1).模板系统常用符号{{}}和{%%}
如果在模板中需要解析变量使用{{}}.
如果在模板中进行逻辑相关操作使用{%%}.

注释 {# … #},只能注释单行。

(2).变量
在Django的模板系统中按此语法使用:{{ 变量名 }}。
当模版引擎遇到一个变量,它将计算这个变量,然后用结果替换掉它本身。 变量的命名包括任何字母数字以及下划线 ("_")的组合。 变量名称中不能有空格或标点符号。
将上面的内容使用模板系统进行设置。

index.html文件
在这里插入图片描述
views.py文件
在这里插入图片描述
urls.py文件
在这里插入图片描述
点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以这样的顺序查询:
字典查询(Dictionary lookup)–>如果向页面传递的是一个字典类型变量,变量名.key 获取值
属性或方法查询(Attribute or method lookup)–>如果传递一个对象,变量名.变量名(此变量名有可能是属性,有可能是无参数方法名称)。
数字索引查询(Numeric index lookup)–>如果传递一个列表,变量名.索引。

Views.py

def index02(request):"""传递字典参数"""data = {'name': '刘瑞'}return render(request, 'index02.html', {'data': data})class Person(object):def __init__(self, name):self.name = namedef dream(self):return "{}的梦想是做一名老师".format(self.name)def index03(request):"""传递对象"""person = Person('张三')return render(request, 'index02.html', {'person': person})def index04(request):"""传递列表"""lst = ['zs', 'ls', 'ww']return render(request, 'index02.html', {'lst': lst})

Index02.html页面:
在这里插入图片描述
Urls.py文件:
在这里插入图片描述
这里要注意:
1.如果计算结果的值是可调用的,它将被无参数的调用。 调用的结果将成为模版的值。
2.如果使用的变量不存在, 模版系统将插入string_if_invalid 选项的值, 它被默认设置为’’ (空字符串) 。

喜欢的朋友记得点个赞哦!可以关注我一起讨论学习。

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}