初学动态网页——Django模板系统

最近接触的两个web项目都用到了Django,第一个是根据已有模板修改的还算比较容易,第二个小项目据资深人士~~~嗦:由于要建立前后台联系,需要写成模板,所以来学习哈~^_^

1.介绍:首先套用

The Django Book 2.0--中文版

的一句介绍:

本质上来说, Django 只不过是用 Python 编写的一组类库。 用 Django 开发站点就是使用这些类库编写 Python 代码。 因此,学习 Django 的关键就是学习如何进行 Python 编程并理解 Django 类库的运作方式。


再来介绍下模板:模板是一个文本,用于分离文档的表现形式和内容。 模板通常用于产生HTML,但是Django的模板也能产生任何基于文本格式的文档。

 2.简单介绍下常见入门语法

<1>变量(variable):用两个大括号括起来的文字,例如:{{person_name}}

<2>模板标签(template tag):用“{%”和“%}”括起来的内容;标签(tag)定义比较明确,即: 仅通知模板系统完成某些工作的标签。

3.基本的模板标签和过滤器

<1>if/else标签:类似其他计算机语言用法

{%if value%}

如果value为true,模板将自动执行if到endif的内容

{%else%}为可选内容

为了方便办一个现成的例子:

{% if today_is_weekend %}
    <p>Welcome to the weekend!</p>
{% else %}
    <p>Get back to work.</p>
{% endif %}
{%if%}标签支持  and   or   not等对变量进行判断,

例如:

{% if today_is_weekend and not today_is_Monday%}
    <p>Welcome to the weekend!</p>
{% endif %}
为了防止模糊,不允许一个标签中同时使用 and   or;也不支持用圆括号组合判断;

一定要用{%else%}关闭标签{%if%}。

<2>for

在一个序列迭代,语法 :  for   x  in   y

 y是要迭代的序列而x是在每一个特定的循环中使用的变量名称。 每一次循环中,模板系统会调用在 {% for %} 和{% endfor %} 之间的所有内容。

在{%for%}中有个 forloop的变量有提示循环信息的属性:

forloop.counter提示循环次数

forloop.parentloop 是一个指向当前循环的上一级循环的 forloop 对象的引用

forloop 变量仅仅能够在循环中使用。 在模板解析器碰到{% endfor %}标签后,forloop就不可访问了。

<3>ifequal/ifnotequal

用于判断两个模板变量相等与否

例如:比较 变量 a   b

{%ifequal  a   b%}

<p>a=b</P>

{%enifequal%}

参数可以是硬编码的字符串,随便用单引号或者双引号引起来,所以下列代码都是正确的:

{% ifequal section 'sitenews' %}
    <h1>Site News</h1>
{% endifequal %}

{% ifequal section "community" %}
    <h1>Community</h1>
{% endifequal %}
同样支持{%else%}标签

<4>注释

就像HTML或者Python,Django模板语言同样提供代码注释。 注释使用 {# #} :

{#this is zhushi#}

多行注释:{%comment%}{%endcomment%}

{% comment %}
This is a
multi-line comment.
{% endcomment %}
<5>过滤器

使用“|”这个符号

例如{{ name |  lower}}将显示把name的内容全部小写后的内容

三个常用过滤器:

addslashes:在反斜杠,单引号,双引号前添加反斜杠

data:

date : 按指定的格式字符串参数格式化 date 或者 datetime 对象, 范例:

{{ pub_date|date:"F j, Y" }}

length : 返回变量的长度。

<6>include模板标签

{%include%}用于在一个模板中引入一个模板

例如:引入nav.heml模板

{ % include  ‘nav.html ’% }




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值