Django 笔记 模板
2016-02-06 21:36
489 查看
在前文中写道,把html直接hardcode在程序中并不是一个好方法
now=datetime.datetime.now() dt=datetime.datetime.now()+datetime.timedelta(hours=offset) html="<html><body>当前时间%s</br>时差%s小时,%s.</body></html>"%(now,offset,dt) returnHttpResponse(html)
- 前台页面变更需要改程序,对于责权分开以及部门沟通都是一个挑战
单一的程序变得混乱,这又离开了当初用django,jinja,flask等框架的初衷
模板原理是调用模板对象渲染render的方法,传入一套变量content,返回一个基于末班的字符串,模板中的变量和标签被context替换后显示在前台。
View.py
from django.http import HttpResponse from django.template import Context,Template from django.shortcuts import render, render_to_response import datetime from django.template.loader import get_template from django.template import Context def current_datetime(request): now = datetime.datetime.now() t = get_template('current_datetime.html') html = t.render(Context({'current_date': now})) return HttpResponse(html)
t = get_template('current_datetime.html')
TemplateDoesNotExist at /time/
假设你的 DEBUG项设置为 True,而你有没有建立current_datetime.html 这
个模板文件,你会看到Django的错误提示网页,告诉你发生了 TemplateDoesNotExist 错误。
在template 目录下简历current_datetime.html然后刷新页面
时间参数通过模板传递过来了
原理是t.render_to_response() 载入一个模板文件,然后context渲染,最后返回httpResponse对象给用户
Template
通过模板传出current_date参数至视图,视图接受后解释或者运行程序渲染后返回httpresponse 结果
View.py
def current_datetime(request): now = datetime.datetime.now() return render_to_response('current_datetime.html',{'current_date':now})
当然一个视图可以使用多个模板进行控制
t = get_template('dateapp/current_datetime.html')
return render_to_response('dateapp/current_datetime.html', {'current_date': now})
url 导向 urls.py
url(r'^mypage/',myapp.mypage)
视图views.py
def mypage(request): now = datetime.datetime.now() return render_to_response('mypage.html',{'current_date':now})
新建include 目录,新建mypage.html 作为模板,nav.html作为头文件,foot.html作为脚文件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% include "includes/nav.html" %} <h1>{{ current_date }}</h1> {% include "includes/foot.html" %} </body> </html>
top.html
<div id="nav"> nav page You are in: {{ current_section }} </div>
Foot.html
<p>foot page</p>
阅读更多
相关文章推荐
- django学习笔记---模板语言forloop循环
- django的模板系统过滤器笔记
- Django学习笔记(二)—— 模板
- Django 学习笔记(三)模板导入
- Django笔记8(模板引擎)
- [django学习笔记](六)Django 模板进阶
- The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
- Django 学习笔记(五)模板标签
- Django笔记(3)-- 模板
- Django学习笔记3-模板
- Django笔记---模板的使用
- The Django Book学习笔记 04 模板
- Python笔记(五)--Django中使用模板
- Pyhton_Django学习笔记(四) 模板
- django学习笔记(二)模板
- Django笔记 —— 模板
- Django学习笔记9-使用模板
- Django学习第二天学习笔记-模板语法
- Django小笔记-视图,模板
- django上课笔记4-复习数据库操作-复习模板-Seccion-详细cookie和session的区别