PythonWeb开发Django框架(三)模板Templates初步

上次说到了views.py文件和urls.py文件的配合使用,能够完成一个简单的在浏览器显示HelloWorld的站点。

当然如果每次都是我们自己在HttpResponse()函数里面写当然是不正常的,这也达不到好的效果,所以Django不同于Java的Strust2框架的MVC设计模式而是采用MVT的设计模式,引用了模板的概念,其实就是控制HTML的一种模式,类似于PHP中的Smarty,实现HTML代码和PHP代码的交互。(说这么多,就是为了装逼,其实我也就了解这么多,只不过我是想通过学习新的知识的同时将之前学过的java和PHP再回忆一下)。那么说到MVT,学过java的或是知道MVC的你们可以将Django里面的M对应MVC中的M就是方便处理数据库的。将Django中的V视作MVC中的V+C因为Django利用自己的URL来控制访问视图(说的不对的话,还请多多指正)。Django中的T呢就是模板的意思啦,也就是用于显示数据的页面的效果啥的啦。

OK,说这么多,那现在就进入正题吧!

1.在项目目录下修改setting.py

2.修改完在对应的APP目录下新建一个名为templates文件夹,里面存放就是我们想要的HTML文件

3.在views.py中写入如下代码:

from __future__ import unicode_literals
from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader,Context,Template
from django.shortcuts import render_to_response
import datetime

def simple(request):
    now = datetime.datetime.now()#获取时间
    t = loader.get_template('test.html')#引入模板
    c = {'title':'Template','now':now}#传递的值
    html = t.render(c)#加载模板
    return HttpResponse(html)

4.在urls.py中进行配置:

from django.conf.urls import url
from blog import views

urlpatterns = [
	url(r'^blog/temp/$', views.simple ),

]

5.在blog/templates文件中新建一个test.html,编辑:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{{ title }}</title>
</head>
<body>
这是测试页面,当前时间为{{ now }}
</body>
</html>

6.运行这个项目就ok啦


在这里就简单的将视图和模板联系起来啦还传递了参数title标题和now时间,当然这也只是传递了一个简单的参数,还可以传递更为复杂的参数,下一次再说吧。

发布了58 篇原创文章 · 获赞 13 · 访问量 3万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览