zoukankan      html  css  js  c++  java
  • Django的模版引擎与模版使用

    Django的模版引擎与模版使用

    模版引擎是模版响应的后端。模版指的是HTML、css,js等相关的文件。模版引擎是将这些表示层文件与数据相整合在一起,然后将整合后的数据给到响应类型判断采用一次性响应还是流响应,确定响应类型后将模版加工后的数据反馈给用户。

    Django支持两种模板引擎,Django模版引擎和Jinja2模版引擎。在settings.py文件中对模版引擎进行配置(BACKEND)。模版目录在列表中的顺序是搜索模版的顺序。

    文件中是这样写的:

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]
            ,
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]

    BACKEND的键值是模版引擎的配置,DIRS的键值是模版目录。

    模版的查找:

    使用get_template(template_name)方法查找,它是Template类。template_name是带查找模版的名称。它会在模版目录列表中,依次查找某个模版,直到找到并返回Template类,如果没有找到,则抛出TemplateDoesNotExist异常。

    将模版文件表达为Template类型,进行数据加工,渲染为可以响应给用户的既有模版表现,又有数据内涵的字符串的过程称之为渲染。

    渲染语句:Template.render(context,request)中的Context参数是字典类型,用于加载到模版中的内容,request参数是HTTP请求。

    如果有静态的模版文件并不需要与数据整合在一起时,则不需要渲染。

    实例代码:

    Views.py

    from django.shortcuts import render,HttpResponse
    from django.template import Template,Context
    def test(request):
    
        template= Template("<h1>this test name is {{ name}}</h1>")
    
        context = Context({"name":"ceshi"})
    
        return HttpResponse(template.render(context))
    

      

    在urls.py的urlpatterns列表里加上path('test/',views.test)

  • 相关阅读:
    SOJ 3531_Number Pyramids
    TYVJ P1047 乘积最大 Label:dp
    TYVJ P1067 合唱队形 Label:上升子序列?
    TYVJ P1093 验证数独 Label:none
    TYVJ P1088 treat Label:鞭笞人的DP
    TYVJ P1008 传球游戏
    表达式系列问题
    数字三角形系列 系列问题
    TYVJ P1024 外星人的密码数字
    TYVJ P1056 能量项链 Label:环状区间DP
  • 原文地址:https://www.cnblogs.com/xshan/p/8298320.html
Copyright © 2011-2022 走看看