视图也就返回给客户端,浏览器能够获取的最终结果。现在的web框架大多使用MVC模式开发,Django也不例外。
在上一节中已经演示了“Hello World!”的显示,但仅仅是简单的字符串返回,在实际开发中这种情况很少发生。多数的情况是复杂的页面,而且这些页面可能还拥有共有的代码部分,比如ASP.NET MVC开发时母板页和内容页。下文将演示一个模板的的使用方式。
1.先创建视图模板文件
在websie_python目录下增加视图目录:templates。然后创建模块(应用)名称,这里我使用上节定义的app名称,即manage,并在其中创建一个模板文件:master_enter.html,内容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="zh-cn">
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
<h1>时间戳:</h1>
{% block content %}{% endblock %}
{% block footer %}
<hr>
<p>欢迎访问。</p>
{% endblock %}
</body>
</html>
注意其中的点位符,如果不是很清楚建议参考官方文档。
2.然后创建视图文件
在刚才创建的manage目录中创建视图文件:current_datetime.html,内容如下:
{% extends "manage/master_enter.html" %}
{% block title %}当前时间{% endblock %}
{% block content %}
<p>时间是: {{ current_date }}.</p>
{% endblock %}
第一行是引用的模板文件,下面是替换模板中的点位符内容,完成后的目录结构如下:
3.编写视图代码
视图文件创建好后,现在就需要修改views.py文件,并加入视图方法:
def current_datetime(request):
current_date = datetime.datetime.now()
return render_to_response('manage/current_datetime.html', locals())
完成后的views.py如下:
4.修改url配置
修改urls.py文件,给urlpatterns配置增加一个子元素:('^manage/time/$', current_datetime),完成后的代码如下:
5.访问视图
启用开发服务器,访问:http://127.0.0.1:8000/manage/time/,结果如下: