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)

  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/xshan/p/8298320.html
Copyright © 2011-2022 走看看