django template 例子

来源:互联网 发布:java开发工具那个好用 编辑:程序博客网 时间:2024/05/22 13:31

template不是django中的内容,而是在python中的。只是在django的松偶合的思想正好用到了这个东西。即写好界面的模板,然后再写好业务逻辑,最后组合即可,这样就将界面与逻辑分开来了。

下面通过一个小例子来看看如何写:

先写一个模板,这里用的pycharm IDE,在项目下自带的templates目录内新建一个模板文件,命名为t1:

<html>    <body>         It is now {{ current_date }}.    </body></html>
大致说一下,带有{{}}的定义的是变量,他们后面会被替换为逻辑里面的变量,其余的代码是固定的。


再写urlconf:

from django.conf.urls.defaults import *from  FirstDjango.view import currenttimeurlpatterns = patterns('',    ('^time/$',currenttime))


新建一个view.py:

from django.http import HttpResponsefrom django.template import Context, Templatefrom django.template.loader import get_templateimport  datetimedef currenttime(request):    now=datetime.datetime.now()    t=get_template('t1')    c=Context({'current_date':now})    html=t._render(c)    return HttpResponse(html)

首先通过datetime得到当前的时间,然后创建一个模板,这里是从其他地方加载而来的,get_template函数的参数就是要加载的文件的文件名。那么从哪里加载呢?这个要看settings.py文件,里面的TEMPLATE_DIRS变量就是模板文件的加载目录。这个需要根据项目的需要自行设定。我们这里指定加载项目目录下的templates文件夹里的内容。那么就要这样设置:

TEMPLATE_DIRS = (os.path.join(os.path.dirname(__file__), '..', 'templates').replace('\\','/'),)

__file__变量可以得到当前文件的文件名称,dirname函数可以得到指定文件的路径,也就是............/FirstSql/FirstSql下面,而templates文件夹是在第一层的FirstSql下,因此要加一个".."编导上一级目录,再加上templates就好了。最后把\\换/即可。

至此就可以运行了!








0 0