django开发 (三)模板使用

  一、模板使用步骤:
        (1)创建静态html模板存放文件夹
             在mysite文件夹下创建template文件夹,用于存放静态模板。
        (2)配置静态html模板存放位置
修改setting.py配置文件,加入以下内容。
    TEMPLATE_DIRS = ( 
           os.path.join(BASE_DIR, 'mysite/tempelate/'),
   )
 
         (3) 视图层加入内容
            在views.py加入视图代码,用于渲染模板,返回响应。
from django.http import HttpResponse
from django.http import HttpResponseRedirect, Http404
from django.template import Template, Context, loader
from django.shortcuts import render_to_response
import datetime

def showTime(request):
     now = datetime.datetime.now()
     t = loader.get_template('showTime.html')
     html = t.render(Context({'current_date': now}))
     return HttpResponse(html)
     #return render_to_response('showTime.html', {'current_date': now})
 
         (4)配置url
            在urls.py中加入访问接口。
from django.conf.urls import patterns, include, url 
from django.contrib import admin
from mysite.views import showTime

urlpatterns = patterns('',
     # Examples:
     # url(r'^$', 'mysite.views.home', name='home'),
     # url(r'^blog/', include('blog.urls')),
     url(r'^admin/', include(admin.site.urls)),
     url(r'^showTime/$', showTime),
)
 
二、模板标签:
 (1)if标签 
 与if语句一样,用来进行分支判断。
{% if today_is_weekend %}
    <p>Welcome to the weekend!</p>
{% else %}
    <p>Get back to work.</p>
{% endif %}
             (2)for标签
<ul>
{% for athlete in athlete_list %}
    <li>{{ athlete.name }}</li>
{% endfor %}
</ul>
             (3)ifequal标签
             用来判断两个值是否相等,注意不能进行数组和字典的判断。
{% ifequal user currentuser %}
    <h1>Welcome!</h1>
{% endifequal %}

            (4)include 标签

          该标签允许在(模板中)包含其它的模板的内容。 标签的参数是所要包含的模板名称,可以是一个变量,也可以是用单/双引号硬编码的字符串。
{% include 'nav.html' %}
           下面的例子包含了以变量  template_name  的值为名称的模板内容:
{% include template_name %}
           (5)block 标签
            block标签与extends标签用于模板继承。一个网站的页面整体结构一致,通过模板继承可以减少代码量,同时规范页面结构。
            每个 {% block %} 标签所要做的是告诉模板引擎,该模板下的这一块内容将有可能被子模板覆盖。
     例子为base.html, 使用block标签定义一个基础模板。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
    <title>{% block title %}{% endblock %}</title>
</head>
<body>
    <h1>My helpful timestamp site</h1>
    {% block content %}{% endblock %}
    {% block footer %}
    <hr>
    <p>Thanks for visiting my site.</p>
    {% endblock %}
</body>
</html>
           (6)extends标签
            extends标签用于继承模板,配合block进行重写。
{% extends "base.html" %}

{% block title %}The current time{% endblock %}

{% block content %}
<p>It is now {{ current_date }}.</p>
{% endblock %}

你可能感兴趣的:(django)