Django学习笔记(二)Django使用template

一:基本的模板使用

1.指定templates路径:

首先在项目的setting.py中指定:注意,可以选择相对路径

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    "./reading/templates",
)


2.修改reading.views中的index方法:

# Create your views here.


#from django.http import HttpResponse
#from django.template import loader,Context
from django.shortcuts import render_to_response


'''
def index(req):
<span style="white-space:pre">	</span>#return HttpResponse('hello world!')
<span style="white-space:pre">	</span>t = loader.get_template('index.html')
<span style="white-space:pre">	</span>c = Context({})
<span style="white-space:pre">	</span>return HttpResponse(t.render(c))
'''


def index(req):
<span style="white-space:pre">	</span>return render_to_response('index.html',{})

3.加入index.html

<html>
<title>sidLand</title>
<body>
hello sidland!
</body>

</html>

4.启动项目:正常访问



二:模板中使用变量:

1.修改views中的方法:

# Create your views here.

#from django.http import HttpResponse
#from django.template import loader,Context
from django.shortcuts import render_to_response

'''
def index(req):
	#return HttpResponse('hello world!')
	t = loader.get_template('index.html')
	c = Context({})
	return HttpResponse(t.render(c))
'''

class Person(object):
	def __init__(self,name,age,sex):
		self.name=name
		self.age=age
		self.sex=sex
	def say(self):
		return "hello:"+self.name
		


def index(req):
	book_list = ['python','java','php']
	user = {'name':'sid','age':13,'sex':'male'}
	person = Person('sid_22',22,'male_22')
	return render_to_response('index.html',{'title':"my pages","username":"sid","user":user,"person":person,"booklist":book_list})

2.修改html模板:

<html>
<title>{{title}}</title>
<body>
hello {{username}}!
<br/>
{{user.age}}
<br/>
{{person.age}}
<br/>
{{person.say}}
<br/>
{{booklist.0}}
<br/>
优先级如上所示:依次递减
定义的属性、对象的属性、对象的方法、list
</body>

</html>

3.解决中文乱码:

3.1首先:确保你的views文件的编码是utf-8的;至于为什么用utf-8,请自行百度;在views文件的最上方加入:

#coding:utf-8
3.2再次:在html中加入字符编码:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

三:模板中使用标签

在你的模板views中加入新的方法:

def tags(req):
    book_list = ['python','java','php']
    user = {'name':'sid','age':13,'sex':'male'}
    person = Person('sid_22',22,'male_22')
    return render_to_response('tags.html',{'title':"Django标签","username":"sid","user":user,"person":person,"booklist":book_list})

在urls中加入新的路径:

url(r'^blog/tags', 'blog.views.tags'),

在templates中加入新的页面:tags.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
</head>
<body>
可以在Django手册中查找<br/>
<a href="https://docs.djangoproject.com/en/1.5/ref/templates/builtins/" target="_blank">https://docs.djangoproject.com/en/1.5/ref/templates/builtins/</a>
<br/>
{% if user %}
{{user.name}}
{% else %}
用户不存在
{% endif %}
<br/>
{% for book in booklist %}
{{book}}
{% endfor %}
<br/>
{% for key in user%}
{{key}}
{% endfor %}
<br/>
{% for k,v in user.items %}
{{forloop.counter}}.{{k}}:{{v}},
{% endfor %}
<br/>
{% for s in users %}
{{s.name}}
{% empty %}
users is empty
{% endfor %}
<br/>
</body>
</html>




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值