Django模板语言小记

1.blog.views.py 
# Create your views here.
from django.template import loader,Context
from django.http import HttpResponse
from blog.models import BlogPost

def archive(request):
    posts = BlogPost.objects.all()
    t = loader.get_template(‘archive.html‘)
    c = Context({‘posts‘: posts})
    return HttpResponse(t.render(c))

2.archive.html
{% extends "base.html" %}  
{% block content %}  
{% for post in posts %}  
<h1>{{ post.title|truncatewords:"30"}}</h1>  
<p>{{ post.content }}</p>
<p>{{ post.timestamp|date:"1, F jS"}}</p>
{% endfor %}  
{% endblock %}

3.base.html
<html>  
  <style type="text/css">  
    body { color: #edf; background: #453; padding: 0 5em; margin:0 }  
    h1 { padding: 2em lem; background:#675 }  
    h2 { color: #bf8; border-top: 1px dotted #fff; margin-top: 2em }  
    p { margin: lem 0 }  
  </style>  
  <body>  
    <h1><center>Blog</center></h1>  
    {% block content %}  
    {% endblock %}  
  </body>  
</html>

一。标签
用{%  %}表示,用于处理一些逻辑 
常用的几个标签
{% if %}和{% endif %}
{% for %}和{% endfor %}
{% for %}标签允许你按顺序遍历一个序列中的各个元素 
Python的for语句语法为for X in Y,X是用来遍历Y的变量 
每次循环模板系统都会渲染{% for %}和{% endfor %}之间的所有内容 
二。注释 
和HTML或编程语言如Python一样,Django模板语言允许注释{# #},如:
代码
{# This is a blog #}
三。过滤器
{{ post.title|truncatewords:"30"}}
这将显示bio标量的前30个字,过滤器参数一直使用双引号 
使用(|)管道来申请一个过滤器 
四。引用变量
变量的形式:{{ variable }}
如上例中的{{ post.content }}
{{ post.content }} 会被 post 对象的 content 属性替换
使用句点 “.” 可以访问变量的属性.

母板:{% block title %}{% endblock %}

如上面base.html的

    {% block content %}  
    {% endblock %}

子板:{% extends "base.html" %}

   {% block conttent %}{% endblock %}

时间: 04-23

Django模板语言小记的相关文章

Django 模版语言详解

一.简介 模版是纯文本文件.它可以产生任何基于文本的的格式(HTML,XML,CSV等等). 模版包括在使用时会被值替换掉的 变量,和控制模版逻辑的 标签. 例: {% extends "base_generic.html" %} {% block title %}{{ section.title }}{% endblock %} {% block content %} <h1>{{ section.title }}</h1> {% for story in s

Django学习之 - 基础模板语言

模板语言循环 1:如果模板语言遇到列表,直接进行循环取值即可. 2:如果模板语言遇到字典进行循环有以下3种: - for item in dict.keys 只循环获取字典key - for item in dict.value 只循环获取字典value - for k,v in dict.items 循环获取字典的key,value全部.实例url:fordict # 字典for循环的取值方法 1 userlist = { 2 '1': {'name': 'jack', 'age': 36},

Django -- 模板

一切伟大的行动和思想,都有一个微不足道的开始:   -- 徐志摩<励志天下> 一切能忍受的微不足道,都有一个行动思想在脚下.   -- 小QQ <励志自己> ------------------------------------------------------------------------------------------------------ 前一节,我们把HTML直接硬编码在python中,尽管他便于解释使徒的工作原理,但是却不是一个好主意: 1.对页面设计进行

Django项目实践2 - Django模板(常用语法规则)

http://blog.csdn.net/pipisorry/article/details/45727309 模板中常用的语法规则 {最新版本的Django语法可能有改变,不支持的操作可能支持了.[HTML教程 - 基本元素/标签及属性]} Django 模板标签 if/else 标签 1. 基本语法格式如下: {% if condition %} ... display {% endif %} 或者: {% if condition1 %} ... display 1 {% elif con

模板语言

django模板查找机制 先在settings指定的目录下查找, django\contrib\admin\templates django\contrib\auth\templates 然后去每个app下的templates中查找 找到即停止查找,否则Template Not Found 属性的访问 使用 "." 来访问变量的属性 当模板系统遇到 "." 的查询顺序 字典查询(Dictionary lookup) 属性或方法查询(Attribute or meth

请教THINKPHP的请教TP模板语言的if判断问题

请教THINKPHP的请教TP模板语言的if判断问题 代码如下<volist name="pageData" id="vo"><if condition="$pageNow eq $vo.index"><a class="active" href="/MyHouse/mylist?pageNow={$vo.index}">{$vo.index}</a><

Django 模板.html中 href参数传入

在Django模板中可能会出现访问多个URL指向同一函数,为减少代码可以利用正则表达式实现 url(r'^remove_userinfo(?P<nid>\d+)/',views.removeuserinfo,name='reinfo'), (?P<nid>\d+)表示此部分的名称为nid,对应removeuserinfo(request,nid)中的nid参数 def removeuserinfo(request,nid): return HttpResponse(nid) 此时

Django 模板中引用静态资源(js,css等)

Django 模板中免不了要用到一些js和CSS文件,查了很多网页,被弄得略晕乎,还是官网靠谱,给个链接大家可以自己看英文的. https://docs.djangoproject.com/en/1.6/howto/static-files/ 大致步骤是这样的: 1.确保setting.py里的installed_apps中包括了django.contrib.staticfiles,没有的话大家给添上就行. 2.同样是在setting.py里面进行添加,我们需要添加静态资源相关的配置.可以这么写

Django模板的使用流程-muahao02目录下测试

在我的云主机上,muahao02的测试: Django模板的使用流程 环境:阿里云主机 步骤: 首先建立blog 这个应用 在blog这个目录下手动建立 templates目录,默认的模板就在这个目录下 vim url.py这个文件 vim views.py这个文件 在一级目录下,执行python manage.py runserver 121.42.138.224:8000 [[email protected] templates]# pwd /root/muahao02/blog/templ