Django mako 的使用

  • 6.6 mako 的使用

6.6 mako 的使用


  • 安装 mako

    pip install mako

  • 创建子应用 makos

    • python .\manage.py startapp makos

      • 创建 base_render.py 文件
from django.http import HttpResponse
from django.template import RequestContext
from django.template.context import Context
from mako.lookup import TemplateLookup
from django.conf import settingsdef render_to_response(request, template, data=None):context_instance = RequestContext(request)path = settings.TEMPLATES[0]['DIRS'][0]lookup = TemplateLookup(directories=[path],output_encoding='utf-8',input_encoding='utf-8')mako_template = lookup.get_template(template)if not data:data = {}if context_instance:context_instance.update(data)else:context_instance = Context(data)result = {}for d in context_instance:result.update(d)result['csrf_token'] = '<input type="hidden" name="csrfmiddlewaretoken" value="{}"/>'.format(request.META.get('CSRF_COOKIE', ''))return HttpResponse(mako_template.render(**result))
  • views.py
from django.views import View
from django.shortcuts import render
from .base_render import render_to_response     # 导入我们创建的 render_to_response
# Create your views here.class Makos(View):def get(self, request):data = {'name': '小钟', 'age': 21}return render_to_response(request, 'makos.html', data=data)
  • urls.py
from django.urls import path
from .views import Makosurlpatterns = [path('makos/', Makos.as_view()),
]
  • templates

    • makos.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<br>姓名: ${name} <br>年龄: ${age}<br><%!from django.conf import settings%>获取模板路径: ${settings.TEMPLATES[0]['DIRS'][0]}
</body>
</html>

Django mako 的使用(七)相关推荐

  1. Django——mako的配置与使用方法

    一.前言 mako最大的特点就是允许在HTML中随意书写Python代码,挺起就很心动啊!! 二.准备阶段 新建一个项目mako_project,再新建一个app叫app,然后安装mako(要联网安装 ...

  2. python开发框架——Django基础知识(七)

      hello!我是小J,每天一个小知识,一起学python,让技术无限发散. 模板 1. 模板配置 1.1 模板简介 1.2 模板的使用流程 1.3 模板配置 2. 模板使用 2.1 变量 2.2 ...

  3. 使用dwebsocket在Django中使用Websocket

    一 什么是Websocket WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在WebS ...

  4. 搭建七牛云OSS文件存储

    三种图片上传的模式 使用 vue 上传到七牛云 (推荐使用) 使用 django 上传到七牛云 将图片保存到 django (极力不推荐) vue上传图片到七牛云如何完成? 1.先下载 qiniu p ...

  5. Day 63 django 中间件、cookie、session

    Day 63 django 中间件.cookie.session 文章目录 Day 63 django 中间件.cookie.session 1.cookie与session 简介 2.django操 ...

  6. 读书笔记——吴翰清《白帽子讲Web安全》

    目录 第一篇 世界观安全 一 我的安全世界观 第二篇 客户端脚本安全 一 浏览器安全 二 跨站脚本攻击(XSS) 三 跨站点请求伪造(CSRF) 四 点击劫持(ClickJacking) 五 HTML ...

  7. Open edX架构

    Open edX架构 OpenedX是一个可以生成.发布.分析在线课程的基于web的平台.该平台为edx.org等其他在线教育网站提供软件框架. 技术(Technologies) 平台服务端源代码主要 ...

  8. Open edX 学习、开发、运维相关链接整理

    原文地址:http://edustack.org/ 所需知识: Linux Git Python (Django Mako coffeescript sass) (MongoDB Mysql) Ans ...

  9. Jinja2 中文手册

    欢迎来到 Jinja2 Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言. 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全: <tit ...

最新文章

  1. 字符串转 Json 数组
  2. 分布式任务队列 Celery — 详解工作流
  3. Hadoop_23_MapReduce倒排索引实现
  4. css3让元素自适应高度
  5. ftp 工具_ftp工具软件,五大站长们都爱的ftp工具软件
  6. php显示上一次登陆的时间长,PHP 用COOKIE实现记住上一次登陆的数据
  7. css样式子绝父相,子绝父相_HTML+CSS前端基础知识教程_腾讯视频
  8. 视觉SLAM十四讲学习笔记-第四讲-李群与李代数基础和定义、指数和对数映射
  9. Python之冒泡排序和选择排序的比较
  10. 地铁19号线首段盾构区间双线贯通
  11. UVA 1615 Highway 高速公路 (区间选点)
  12. 页面之间传递参数的几种方法荟萃(经典)
  13. 世界杯直播背后看不见的战斗
  14. 再探幻读!什么是幻读?为什么会产生幻读,MySQL中是怎么解决幻读的?
  15. 数据中台、业务中台、数据仓库、现有信息架构
  16. android 图片占用内存的计算
  17. 如何查询期刊是否是SCI期刊
  18. Office2019专业版从下载到安装、使用
  19. 安全日志:/var/log/secure(转载 https://www.cnblogs.com/pzk7788/p/10184740.html)
  20. Win7旗舰版蓝屏解决办法

热门文章

  1. WIFI AP和STATION
  2. 添加权限,获取到用户信息,就用户当前部门进行下拉选择
  3. NetSuite2.0 Restlet脚本 货品新增
  4. vs2017 - vs2012
  5. Unity Universal RP asset not assigned
  6. 让注册表修改快速生效
  7. 什么是TCP/IP协议?
  8. 经纬度转换为UTM坐标
  9. WebRtc视频特效
  10. Linux常见错误 “cp: omitting directory/ cp: :Permission denied”解决办法