Django基础篇--模板和路由分发

Django模板

首先什么是一个模板?

简单来说就是一个网页,可以被view响应给用户

目的是为了解决复杂的显示问题

2. 模板的设置问题

setting.py中的TEMPLATES配置

1)BACKEND: 指定模板的搜索引擎,不用改动

2)DIRS: 指定模板存放的目录

DIRS=[‘ index.temp’ ,’music.temp’]

但是,如果DIRS中为空的话,那么django会自动搜索每个应用中的templates的文件夹作为模板的管理目录

推荐:DIRS保持空,但必须在每个应用中,创建一个templates的文件夹

3)APP_DIRS

True : 首先从DIRS中指定的文件夹中查找模板,如果没有找到指定模板的话,则再搜索templates目录

3. 模板的加载方式

HttpResponse() 这是加载字符串的

1. 使用loader 获取模板,通过HttpResponse进行响应

最终返回模板前都是把模板转化为字符串

2. 使用render直接加载

return  render (request, ’模板名称’ , {参数字典})

4. url()函数的name参数(这个用法是比较灵活的)

urlpatterns = [

url( regex,views , kwargs =None, name = None)

]

name: 定义当前url的别名,允许在Template中使用别名来

例如:

urlpatterns = [

url( regex,views , kwargs =None, name = ’my’)

]

在超链接中用得很多

需要使用标签

{% url ‘name值’%}    #服务器解析

<a href=’ {%url  ‘ my’  %}’ >去往second 页面</a>

注意:name别名不能重复定义

url参数

<a href=’/music/show/35’> 去往show/35地址的页面</a>  #不用别名的条件下写全路由 

<a href=’ {%url  ‘ my’  87 %}’ >去往show/87页面</a>  #传参数,直接在’别名’ 后加空格加参数

 

模板语法:

1. 变量

作用:允许将后端的数据传递给模板(html),模板中,会根据变量实际值进行显示

1)允许传递给变量的数据类型

数字,字符串,列表,元组,字典,函数,对象(类) (注意:集合不行)

注意:函数一定要返回值

2)如何传递变量到模板中

render

dict={

‘变量1’:’值1’,

‘变量1’:’值1’,

}

return  render(request, ‘xx.html’,dict)

重点:

如果是传列表,元组,字典等,先组织好数据,再把数据放dict中

例如:

dict ={

‘l’ :list,

‘d’ :dict,

}

或者用locals()将局部变量组织成字典传入参数,对象除外

3)模板中获取变量的值

{{ 变量名称}}      #字符串

{{变量名称.1}}     #列表/元组

{{变量名称. key}}    #字典

{{函数名}}         #函数

{{类名.方法名 }}    #对象

2. 标签 (具体更多标签用法可以看看官方文档)

1)什么是标签?

允许嵌套一些服务器段端的逻辑运算到模板中

而变量只管数值,标签管运算

2)语法

{% %}

注意:写的过程运算符,变量都必须用空格隔开

常用标签

1. {% if 条件%}   #条件可以用简单逻辑判断,例如 >  <  == 等等

{% else  %}

{% end if %}

接受not, and ,or 运算

但是 and  和  or不能同时出现

以下内容当做False处理:

空[]

空 ()

空{}

数值0

空字符串

None

{% ifequal  值1  值2 %}   #判断值1 和值2是否相等,相当于值1 ==值2

{% else %}

{% endifequal %}

2. for标签

{% for  变量  in  列表| 元组 | 字典 %}

{% endfor%}

允许使用的内置变量(免声明):

forloop

1. forloop.counter :记录循环次数,从1开始

2. forloop.counter0 :同上,从0开始

3. forloop.revcounter:记录未被遍历的数量

4. forloop.revcounter0 :同上,从0开始

5. forloop.first : 布尔值,标记是否是第一个项(通常对第一个、最后一个做一些样式设置)

6. forloop.first : 布尔值,标记是否是最后一个项

<li  { % if  forloop.first  %} style= ‘color:red’ {% endif%} ></li>

3.过滤器

在显示变量之前,运行对数据进行筛选或改变

语法:

{{ var | 过滤器}}

常用过滤器:

1. {{var| upper}}

将英文字母改写为大写

2. {{var| lower}}

将英文字母改写为小写

常用的过滤器

1. 加法操作

var|add : ‘ num’

first | add: second   #first 和 second 是两个数字类型的列表

2.对小数进行四舍五入(金融和交系统)

var | floatformat:num  # num指定保留多少位小数

3. 超长的字符显示省略号(一些字符串显示)

value | truncatechars:num   #num指定保留的字符数

value | truncatewords: num

也可以用css实现

white-space:nowrap

text-overflow:ellipsis

原文地址:https://www.cnblogs.com/thomson-fred/p/9785697.html

时间: 2024-10-08 02:33:32

Django基础篇--模板和路由分发的相关文章

Django(基础篇)

Gjango 解析 是一个可以使Web开发工作愉快并且高效的Web开发框架,使用Django,使你的能够一最小的代价创建和维护高质量的Web应用. Django相较与其他Web框架其优势:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 流程 Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持耦合关系,只是定义上有些许不同, Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模

59 Django基础三件套 , 模板{{}}语言 , 程序连mysql Django项目app Django中ORM的使用

主要内容: 1 form表单中提交数据的三要素 form标签必须要有action和method的属性 所有获取用户输入的标签必须放在form表单里,也必须要有那么name属性.因为往后端提交数据的时候name所对应的是关键字, input输入的值为value.在后端显示为字典的模式, 如果不写name关键字,则取不到值. 必须要有submit按钮. 2 Django 基础三件套 from Django.shortcuts import HttpResponse, render, redirect

Django基础二之URL路由系统

一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. 基本格式  from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和

02.Django基础二之URL路由系统

一 URL配置 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表.你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. 基本格式 from django.conf.urls import url #循环urlpatterns,找到对应的函数执行,匹配上一个路径就找到对应的函数执行,就不再往下循环了,并给函数传一个参数request,和w

Django基础篇

Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 安装:pip3 install django 终端命令: 创建project: django-admin startproject [项目名称] 创建app: python mannage.py startapp [app名称] 启动项目: python man

Django基础篇之数据库选择及相关操作

在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一.利用命令创建(在终端上执行) 1.首先创建一个project项目 djanjo-admin startproject project名字 2.创建app(首先必须利用cd切换到该project下面) Python3 startapp APP名字 3.运行程序 python3 manage.py runserver 127.0.0.1:8009 二.利用pycha

Python之路【第十八章】:Django基础篇

Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能 1.安装 # windows 直接用pip进行安装 pip install django # 生成的django文件加入到系统环境变量 C:\Python35\Scripts 2.创建Django工程

Django基础篇(二)与mysql配合使用

需求:模拟实现学员管理系统.<*_* 从基础做起> 表结构如下: 班级/学生/老师 班级表: id     title 1       xx 2 xx 学生表: id    name   班级ID(foreign  key) 1   xxx           1 2   xxx            2 老师表: id    name 1      xxxx 2 xxx 老师班级关系表(多对多): id   tid(教师id)    cid (班级id) 1       1         

Django基础—— 17.模板包含和继承

原文地址:https://www.cnblogs.com/yz9110/p/9345445.html