Django学习之旅(三)

 

 

 

 

 

 

上篇文章讲到视图部分知识,本文将对视图的用法进行深入学习。

 

1

自定义视图

 

随着我们的Web站点页面越来越多,页面链接会越来越杂乱无章。因此有必要在项目一开始就对其进行管理。 /articles/123的效果 

0?wx_fmt=png

views.py实现了articles方法

0?wx_fmt=png

这其中url()函数具有四个参数, regex和view是必填选项,kwargs和name是非必填选项 regex: 正则表达式的缩写。Djaogo从第一个正则表达式开始,依次对请求url进行匹配,直到找到匹配到那个为止。 view: 目标视图,即views.py文件中的函数。 kwargs: 任何关键字参数都可以以字典形式传递给目标视图。 name: 命名你的URL, 相当于给url取个别名。 这样就可以在Django的其它地方尤其是模板中,通过名称来明确地引用这个URL。 这个强大的特性可以使你仅仅修改一个文件就可以改变全局的URL模式。

 

 

2

模板

学到这里,你会许会有个疑问。web页面应该含有html代码的,为什么我没有看到html页面呢?我的web页面不能单单只是一句话,应该有导航栏,内容栏,底部栏吧。要满足这需求,则需要用到渲染模板的方法来显示内容。 

 

0?wx_fmt=png

我们的首页 home.html,继承或者说扩展(extends)原来的 base.html,可以简单这样写,重写部分代码(默认值的那一部分不用改)。代码如下:

0?wx_fmt=png

url.py文件增加相对应的url函数就行,而views.py文件就需要改动了。 

 

0?wx_fmt=png

 

3

部署运行

view.py属于View层,是用于显示界面。但是在实际应用中,往往view的数据不是写死的,是由模型层传输过来的。怎么将model层传输过来数据显示在视图上呢?Django模板算是利器,它具有循环、条件判断、常用的标签、过滤器等功能,这能消除我们的刚才的烦恼。 

{% 标签 %}, 例如

0?wx_fmt=png

2)变量的写法: 使用{{ 变量 }}, 例如

0?wx_fmt=png

补充知识 

变量描述
forloop.counter索引从 1 开始算
forloop.counter0索引从 0 开始算
forloop.revcounter索引从最大长度到 1
forloop.revcounter0索引从最大长度到 0
forloop.first当遍历的元素为第一项时为真
forloop.last当遍历的元素为最后一项时为真
forloop.parentloop用在嵌套的 for 循环中,获取上一层 for 循环的 forloop

2)如果想表示空值,代码如下

0?wx_fmt=png

 

 - END -

 

 

 

 

 

极客猴

 

 

 

分享干货的公众号

 

 

 

0?wx_fmt=jpeg

0?wx_fmt=jpeg

 

 

 

长按指纹 > 识别图中二维码 > 添加关注

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值