django html模板 now,Django 笔记 模板

在前文中写道,把html直接hardcode在程序中并不是一个好方法now=datetime.datetime.now()

dt=datetime.datetime.now()+datetime.timedelta(hours=offset)

html="

当前时间%s时差%s小时,%s."%(now,offset,dt)

returnHttpResponse(html)前台页面变更需要改程序,对于责权分开以及部门沟通都是一个挑战

单一的程序变得混乱,这又离开了当初用django,jinja,flask等框架的初衷

模板原理是调用模板对象渲染render的方法,传入一套变量content,返回一个基于末班的字符串,模板中的变量和标签被context替换后显示在前台。

View.pyfrom 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)

6d8ae713a814a0cf04501549015273a4.png

t = get_template('current_datetime.html')

TemplateDoesNotExist at /time/

假设你的 DEBUG项设置为 True,而你有没有建立current_datetime.html 这

个模板文件,你会看到Django的错误提示网页,告诉你发生了 TemplateDoesNotExist 错误。

在template 目录下简历current_datetime.html然后刷新页面

时间参数通过模板传递过来了

b1e5ec9a09f117b5d7e813faccafd4d4.png

原理是t.render_to_response() 载入一个模板文件,然后context渲染,最后返回httpResponse对象给用户

Template

ccea1cc7fcd397576b8740ae0d39ecbd.png

通过模板传出current_date参数至视图,视图接受后解释或者运行程序渲染后返回httpresponse 结果

View.pydef current_datetime(request):

now = datetime.datetime.now()

return render_to_response('current_datetime.html',{'current_date':now})

47b62798c541573776ab470dcf62e5c2.png

当然一个视图可以使用多个模板进行控制

t = get_template('dateapp/current_datetime.html')

return render_to_response('dateapp/current_datetime.html', {'current_date': now})

url 导向 urls.pyurl(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作为脚文件html>

Title

{% include "includes/nav.html" %}

{{ current_date }}

{% include "includes/foot.html" %}

top.html

nav page

You are in: {{ current_section }}

Foot.html

foot page

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值