Python -----Web----Django模板系统

Django模板系统主要是为了将前端后台给分离开,这样需要改前端时就不需要去修改Python代码,分工明确


在之前项目的基础上修改一下:

用idea生成Django项目的时候,在项目的目录下面有一个templates文件夹,这个文件夹就是负责存放页面模板的


在templates中建立一个html文件,代码可以写任何网站的html代码,现在自己写一个带有后台参数的html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    Its now {{ current_date }}
</body>
</html>
这个current_date是从后台传过来的


添加完这个页面之后,我们还是从settings.py配置文件开始看这一过程


有一个TEMPLATES的变量,还能找到一个'DIRS'的变量,这个DIRS的变量中的参数就是模板的位置,所以项目启动时会加载这个文件中的所有html文件


url.py的代码不变,项目还是加载current_datetime视图函数

from untitled.views import current_datetime
from untitled.views import hours_ahead
from django.conf.urls import include, url

urlpatterns = [
    url('time/', current_datetime),
    url(r'^time/plus/\d{1,2}/$', hours_ahead),
]

然后是views.py,视图文件我们修改一下,让他使用模板

from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context
from django.shortcuts import render_to_response
import datetime

def current_datetime(request):
    now = datetime.datetime.now()
    t = get_template('current_datetime.html')
    html = t.render({'current_date':now})
    #html = t.render()
    return HttpResponse(html)
    #return render_to_response('current_datetime.html',{'current_date':now})
get_template()函数加载了current_datetime.html文件,然后返回视图到浏览器

这段视图函数代码也可以这么写:

def current_datetime(request):
    now = datetime.datetime.now()
    t = get_template('current_datetime.html')
    return render_to_response('current_datetime.html',{'current_date':now})

render_to_response()函数封装了get_template()函数的功能。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值