学会使用渲染模板的方法来显示html内容。

一、Templates是什么:

HTML文件

使用了Django模板语言(Django Tamplate Language DTL)

可以使用第三方模板

二、开发Template

1.在app根目录下新建一个 templates 文件夹,里面新建一个index.html

myblog
├── blog
│   ├── __init__.py
│   ├── admin.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── templates
│   │   └── index.html
│   ├── tests.py
│   └── views.py
├── manage.py
└── myblog
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py  

2.在index.html 中写一些内容

<!DOCTYPE html>
<html>
<head>
    <title>第一个Template</title>
</head>
<body>
<h1>Hello world</h1>
<h2>My Blog</h2>
</body>
</html> 

3.在views.py中返回render()

from django.shortcuts import render

# Create your views here.

def index(request):
    return render(request,'index.html')

4.运行cmd启动查看效果

三、初步使用DTL

rander()函数的第三个参数是用来传递数据到前端的,支持dict类型参数(字典,键值对)

该字典是后台传递到模板的参数,键为参数名

在模板中使用{{参数名}}来直接使用

1.在views.py中返回render()

from django.shortcuts import render

# Create your views here.

def index(request):
    return render(request,'index.html',{'hello':'hello,my blog!'})

2.修改index.html 中的一些内容

<!DOCTYPE html>
<html>
<head>
    <title>第一个Template</title>
</head>
<body>
<h1>Hello world</h1>
<h2>{{hello}}</h2>
</body>
</html> 

四、注意

Django按照settings.py中INSTALLED_APP中的添加顺序查找templates

不同app下templates目录下的同名html文件会造成冲突

解决方法:

在app的templates目录下创建以APP名为名称的目录,将html文件放在该目录下

然后修改view.py中render函数的路径

from django.shortcuts import render

# Create your views here.

def index(request):
    return render(request,'blog/index.html',{'hello':'hello,my blog!'})

打开http://127.0.0.1:8000/index/ 查看效果

 

Django学习(二)---使用模板Templates的更多相关文章

  1. Django学习总结之模板templates

    - django模板: templates - 模板分为两个过程: 1, 加载 : loader.get_template('xxx.html') 返回值是一个template对象 2, 渲染 : t ...

  2. Django(二) 模板:基本使用、模板语法、模板继承

    一.模板的使用实战 接:https://blog.csdn.net/u010132177/article/details/103788677 参考:https://docs.djangoproject ...

  3. Django学习笔记之模板

    模板 模板介绍 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面. 目前市面上有非常多的模板系 ...

  4. Django学习系列之模板系统

    一.模板标签 if/else {%  if  %}标签检查一个变量的值是否为真或者等于另外一个值,如果为真,系统会执行{%  if  %}和{%  endif  %}之间的代码块,例如: {% if ...

  5. Django学习(九)---Templates过滤器及Django shell和Admin增强

    一.Templates过滤器 过滤器属于django模板语言 修改模板中的变量,从而显示不同内容 {{ value | filter }} 举例:{{ list_nums | length}}    ...

  6. Django学习日记04_模板_overview

    通过Django中的模板,使得设计人员和网站管理有一个对接的接口,实现网页设计和逻辑的分离,因此,模板会处理大量的文本解析内容,django中内部使用了高效的引擎来完成模板解析. 模板设置 在使用模板 ...

  7. Django入门二之模板语法

    一. 模板变量 Context传入的可以是一个str,dict,list,甚至是一个实例对象 在html中如何调用这些对象进行取值呢 1. 变量名 {{ variable }} 返回字符串,无论是st ...

  8. Django实战(二)之模板语言

    该实战教程基于菜鸟教程,菜鸟教程可参考:http://www.runoob.com/django/django-template.html 模板语法,每个框架都有其支持的模板语法,Django的模板语 ...

  9. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  10. django学习(二)

    1.反向解析 什么是方向解析呢? 通过一些方法得到一个结果,该结果可以直接访问对应url出发视图函数. 先给一个路由和视图函数起一个别名.但是我们要注意的是反向解析的别名是不可以冲突的!!!不然会出现 ...

随机推荐

  1. React学习小结(二)

    一.组件的嵌套 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...

  2. ORACLE的监听日志太大,客户端无法连接

    数据库sqlplus能连接,plsql连接失败,也不报错,就定位到了是不是监听出了什么问题,删除监听,重建监听,重启监听,各种尝试都没解决问题. 却是监听日志太大导致的问题,一下是处理步骤: 查看监听 ...

  3. 傻瓜式安装nginx以及负载均衡配置

    概述 需求 做了一个对内的http api应用.由于只有一台服务器,考虑到升级问题(即升级时会造成几秒钟用户访问不了),决定搭一个nginx,公共端口:9999,部署2套应用,端口:9981,9982 ...

  4. 使用 Hive装载数据的几种方式

    装载数据 1.以LOAD的方式装载数据 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION( ...

  5. Eclipse设置文字大小

    1,选择窗口,preference 2,general

  6. Webpack 资源管理

    Webpack 资源管理

  7. HTML中那些不常用标签

    先思考一个问题:为什么H5里面又多了那么多看似没用的标签? 我们知道,<div>能干百分之99的标签能干的事,而标签的主要作用是用来包裹内容,只要把基本内容都包含进去不就好了??胡闹!不带 ...

  8. vue.js实现数据动态响应(Vue.set的应用)

    在vue里面,我们操作最多的就是各种数据,在jquery里面,我们习惯通过下标定向找到数据,然后重新赋值 比如var a[0]=111;(希望上家公司原谅菜鸟的我写了不少这样的代码

  9. 我的第一个Java程序

    我的第一个Java程序: class Test{    public static void main(String[] args)    {    System.out.println(" ...

  10. Bash启动选项

    Bash选项可以用来控制它的行为,有两种选项:单字符选项和多字符选项,多字符选项必须出现在单字符选项以前.1)单字符选项:由一个减号和一个字符组成2)多字符选项:由两个减号和多个字符组成 常用选项:- ...