django 模板语言入门详解

django 模板语言所解决的问题域:

  1、动态生成html文件

  2、是上这个模板语言用可用于生成任何形式的文本文件

从一个不用模板语言生成html的例子看模板语言的优点:

  假设我要生成一个 “hello xxx”样子的页面、不用template语言时可以写出来的、以下是页面的效果图:

      

  不用模板语言的情况下、python代码如下:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.


def index(request):
    html="""<!DOCTYPE html>
<html>
    <head>
        <title>Hello {0}</title>
    </head>

    <body>
        <p> Hello {0} </p>
    </body>
</html>
    """
    return HttpResponse(html.format('welson'))

  1、html代码与python代码和在一起、这个还是个小的页面、一个大点的页面可能有几千行html代码、在这个混合的代码汤中找到自己要

  改动的点、而且还不要改错、这个就比较考验一个“程序猿的基本修养”了。

  2、现在的网站开发大多都是有明确分工的、前端程序猿主要是负责写页面、后台程序猿写相应的逻辑;对于上面的情况、如果一个前端

  程序猿要改页面的样式、那它最好要懂点python;总的来说吧、这种format的方式不方便合作。

用模板语言让前端与后台松耦合每个人都做自己擅长的事:

   1、前端只要把html经过一点点改动就可以了、为页面写一个静态文件、代码如下:

<!DOCTYPE html>
<html>
    <head>
        <title>Hello {{ name }}</title>
    </head>

    <body>
        <p> Hello {{ name }}</p>
    </body>
</html>

  2、后台引入前端提供的html文件、并传入对应的参数、就可以生成页面了

from django.shortcuts import render

# Create your views here.


def index(request):
    return render(request,'app01/index.html',context={'name': 'welson'})

  通过django的模板机制html与python就分开了

  页面效果是一样的、但是内涵不同了。

----

原文地址:https://www.cnblogs.com/JiangLe/p/8565947.html