Django——模板路径 模板变量 常用过滤器 静态文件的使用

Django

  1. 模板路径
  2. 模板变量
  3. 过滤器
  4. 静态文件的加载

模板的路径,有两种方法来使用

  • 设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明

在每一个APP中创建templates,然后在settings的INSTALLED_APPS中声明

模板变量的使用

  • 语法:   {{ 变量名 }}
  • 命名由字母和数字以及下划线组成,不能有空格和标点符号
  • 可以使用字典、模型、方法、函数、列表
  • 不要和python或django关键字重名
  • 变量和查找
  • 注:
    1.如果data是一个字典,那么访问data.items将会访问data这个字典的key名为items的值,而不会访问字典的items方法。
    2.点在模板渲染时有特殊的含义。 变量名中点表示查找。

配置好templates,url,

views.py:

# 模板变量
def str_con():
    return ‘hello Django!‘
class test():
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def who_are_you(self):
        return ‘your name is %s‘%self.name + ‘ and you are %s years old‘%self.age

lei = test(‘Tom‘, ‘21‘)
string = "I don‘t like you!"
li = [‘a‘, ‘b‘, ‘c‘]
tup = (‘apple‘, ‘pear‘, ‘fuck‘)
di = {‘name‘: ‘Lucy‘, ‘age‘: ‘22‘}

def template_variables(request): # 模板变量以及过滤器示例
    return render(request, ‘book/Template_variables.html‘, context={
        ‘no‘: str_con,
        ‘lei‘: lei,
        ‘string‘: string,
        ‘list‘:li,
        ‘tuple‘: tup,
        ‘dict‘: di,
        ‘way‘: lei.who_are_you,
        ‘tags‘: ‘<b><i>Django<i></b>‘,
        ‘ss‘: ‘Django‘,
        ‘now‘:datetime.datetime.now,
        ‘num1‘: 1,
        ‘num2‘: 2,
        ‘test‘: ‘Hello Django!‘,
        ‘html‘: ‘<h1>HELLO django</h1>‘,
    })

templates中的html文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板变量</title>
    <style>
    </style>
</head>
<body>
<p>方法名:{{ no }} == 调用了方法</p>
<p>类名:{{ lei }}</p>
<p>字符串:{{ string }}</p>
<p>列表:{{ list }}以及列表第二个值:{{ list.1 }}  || 从0开始索引</p>
<p>元组{{ tuple }}以及元组第二个值{{ tuple.1 }}</p>
<p>字典:{{ dict }}</p>
<p>字典获取元素(name):{{ dict.name }}</p>
<p>字典取所有值:{{ dict.items }}</p>
<p>示例调用方法:{{ way }}</p></body>
</html>

过滤器

  • 作用:对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。
  • 语法:{{ fruits | lower }}
  • 管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写。
  • 语法:{{ fruits | lower | capfirst }}
  • 使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器,
  • 语法如下: {{fruits|cut:" "}}
  • 注意:使用参数的时候,冒号和参数之间不能有任何空格,一定要紧挨着。

常用的过滤器:

示例:配置好url以及views(还是上面的views)后

html中:

<p>过滤器</p>
<p>相同的类型相加:{{ num1|add:num2 }}</p>
<p>没有的默认设置:{{ xxx|default:‘ookk‘ }}</p>
<p>列表第一个元素:{{ list|first }}</p>
<p>列表最后一个元素:{{ list|last }}</p>
<p>字符串拼接join:{{ list|join:‘*‘ }}</p>
<p>返回序列长度:{{ tuple|length }}</p>
<p>判断列表长度是不是3?{{ list|length_is:3 }}</p>
<p>字符串Hello Django!小写:{{ test|lower }}</p>
<p>字符串首字母大写:{{ test|lower|capfirst }}</p>
<p>按规定省略(...算三个字符):{{ test|truncatechars:8 }}</p>
<p>按单词省略:{{ test|truncatewords:1 }}</p>
<p>HTML标签一同省略的情况:{{ html|truncatechars:8 }}</p>
<p>HTML标签不算的字符的省略{{ html|truncatechars_html:8 }}</p>
<p>HTML省略truncatewords_html方法相同</p>
<p>列表切片:{{ test|slice:‘2:6‘ }}</p>
<p>去掉html标签:{{ html|striptags }}</p>
<p>浮点数格式化(默认小数Π,保留3位):
    {{ num3|default:3.1415926|floatformat:3 }}</p>
<p>默认的date日期时间格式:{{ now|date }}</p>
<p>默认的time时间格式:{{ now|time }}</p>
<p>默认的date过滤器24小时制的年月日时间:{{ now|date:‘Y-m-d H:i:s‘ }}</p>
<p>默认的time过滤器12小时制的时间:{{ now|time:‘h:i:s‘ }}</p>
<p>html标签自动转义,{{ tags|safe }}</p>

关于自动转义:
自动转义是将变量的一些特殊字符,比如左箭头(<)、右箭头(>)转义成html代码,这样做的目的是为了处理一些不安全的变量。

  • <:转义成&lt;
  • >:转义成&gt;
  • ‘:转义成'
  • “:转义成&quot;
  • &:转义成&amp;

静态文件的加载

在大项目的路径下创建文件夹static(与templates同路径)

在settings中设置静态文件路径

在static文件夹中分别配置一些静态文件,再在templates中建一个html用来渲染,配置好路径和视图

static_file.html中:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>静态文件渲染</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>
</head>
<body>
<img src="{% static ‘image/cat.jpg‘ %}" alt="网络错误">

<link rel="stylesheet" href="{% static ‘css/book.css‘ %}">
<script src="{% static ‘js/book.js‘%}"></script>
</body>
</html>

注意:静态文件的使用,在html文件顶上一定要先加上{%  load static %}

原文地址:https://www.cnblogs.com/pywjh/p/10155548.html

时间: 2024-10-27 05:48:50

Django——模板路径 模板变量 常用过滤器 静态文件的使用的相关文章

Django(七)—— 模板层:变量、过滤器、标签、自定义标签和过滤器

模板层:变量.过滤器.标签.自定义标签和过滤器 将页面的设计和Python的代码分离开会更干净简洁更容易维护. 我们可以使用 Django的 模板系统 (Template System)来实现这种模式 # django模板修改的视图函数 def current_time(req): from django.template import Template,Context now=datetime.datetime.now() t=Template('<html><body>现在时刻

django “如何”系列10:如何管理静态文件

django开发者最关心的是web应用中的动态部分-视图函数和模板.但是明显,web应用还有其他需要注意的部分:静态文件(图片,css,javascript等等),那些都是渲染一个完整的页面需要的东西. 对于小项目来说,这不是一个大问题,因为你只需要把你要用到的静态文件放到服务器能访问到的地方就ok了.然而,在比较大的项目里面-尤其是那些由多个app组成的-处理不同app之间的静态文件开始变得麻烦起来.这就是django.contrib.staticfiles的价值所在:它会收集你每个应用程序里

TP框架的模板路径问题以及常用的模板常量的定义

在TP框架中,为了各个模块加载静态文件方便,往往是不需要按照默认的方式放置静态文件到/app/模块名/VIEWS/下面,而是在顶级目录下创建一个新的目录(比如说./tpl目录下),来存放静态文件   设置方法:                  (1):在TP的入口文件中定义:                       define( 'TMPL_PATH' , './tpl/' ); //定义模板路径                  (2):手动创建./tpl目录(注意,框架不会自动生成该

[django]Django的css、image和js静态文件生产环境配置

前言:在Django中HTML文件如果采用外联的方式引入css,js文件或者image图片,一般采用<link rel="stylesheet" href="../css/lstyle.css">这个格式,但是django中需要配置一下,才能如此使用. 关键词:django静态文件 django生产环境 django1.8 正文: 第一步,在django工程目录下建立static文件夹,同时在static文件夹下建立css img js三个不同名称的文件

django第三课 模板变量及过滤器

1.模板路径的查找 - 查找顺序, - 会首先查找TEMPLATES里面的DIRS TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templets')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_proce

Django——静态文件(如bootstrap)的配置

静态文件如CSS, javascript(如bootstrap), 图片等文件在django中的配置官方文档写的比较模糊,自己通过实验验证后并整理如下,以防遗忘,目前只整理了关于本地开发中的设置方式,实际发布的配置方式稍后整理. ——————————————————————经测试使用第一种方法————————————————————————————————— [第一部分:配置] 步骤一:配置STATICFILES_DIRS 两种情况: 1. 默认情况,静态文件放在app目录下的static目录中

django处理静态文件

转载自 http://www.cnblogs.com/wswang/p/5519101.html 静态文件指的是js css 还有图片这些,配置方法如下 1. 在设置文件(settings.py)中,installed_apps中添加 django.contrib.staticfiles 然后设置static_url 1 STATIC_URL = '/static/' 2. 在模板中的使用方式如下 1 2 {% load staticfiles %} <img src="{% static

自定义过滤器和标签 &amp; 静态文件相关

自定义过滤器和标签 1.在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag. 2.在app中创建templatetags模块(模块名只能是templatetags) 3.创建任意 .py 文件,如:my_tags.py from django import template from django.utils.safestring import mark_safe register = template.Library() #r

Django框架静态文件配置和URL解析

静态文件配置 1:#在django项目下创建一个static静态文件文件夹,在static文件夹下创建对应的css,img,js文件夹,用来存放css样式文件,图片和js代码,用于HTML引入 2:#在django项目的settings配置文件中,配置静态文件相关配置(setting文件的最下面) STATIC_URL = '/static/' #静态文件的文件路径别名,别名可以改,一般不改 STATICFILES_DIRS = [ #静态文件的文件路径,就是创建的static的静态文件夹路径,