一  fontfawesome字体的使用

http://fontawesome.dashgame.com/ 官网

1 下载

2 放到你的项目下面

3 html导入这个目录

实例:

class最前面的fa 必须写上  ,第二个 wechat是图标的名字,前面也必须加上fa,第三个fa-4x是控制图标的大小,加上color还可以随意修改图标的颜色

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="font-awesome-4.7.0/font-awesome-4.7.0/css/font-awesome.css"> # 导入官网的的css文件
</head>
<body>
<p>
<i style="color: green" class="fa fa-wechat fa-4x "></i>
</p>
<i class="fa fa-hand-pointer-o"></i> <i class="fa fa-spin fa-spinner"></i> </body>
</html>

二  模板语言的进阶

参考 https://www.cnblogs.com/liwenzhou/p/7931828.html

1  静态文件相关的

一般的导入导入第三方的css或者js用的是

<link rel="stylesheet" href="/static/font-awesome-4.7.0/font-awesome-4.7.0/css/font-awesome.css">

它的弊端是一旦你的setting.py里面把静态文件的目录给更改了,那么你所有的html文件引用的地方都需要重新改一遍,所以可以用模板导入,这样你的这里面就不用

随着setting.py里面的更改去更改了。

 {% load static %}
<link rel="stylesheet" href="{% static 'font-awesome-4.7.0/font-awesome-4.7.0/css/font-awesome.css' %}">

2  自定义函数

2.1 必须在项目下面新建一个python package叫templatetags,然后新建一个py文件在里面自定义你的函数

自定义一个filter函数

 import datetime
from django import template register = template.Library()
# 把我写的函数注册成一个自定义的filter函数,就能在模板语言里使用了
@register.filter()
def alex(arg, delta=""):
try:
delta = int(delta)
except Exception:
delta = 7
# 在原来时间基础上加7天
ret = arg + datetime.timedelta(days=delta) # 默认事件不能和int相加,但是用timedelta就可以进行运算了
# 把时间对象格式化成字符串格式
return ret.strftime("%Y-%m-%d %H:%M:%S")

在html页面中如何引用

{% load ooxx %} # 导入ooxx,这就是你自定义函数的py文件的名字
{#把时间转换成字符串用内置的date#}
<p>{{ now|date:'Y-m-d H:i:s' }}</p>
{#我自定义一个alex函数#} <p>{{ now|alex }}</p>
<p>{{ now|alex:''}}</p>

自定义一个simple_tag函数

# 把一个函数注册成自定义的simple_tag
@register.simple_tag()
def gold(arg1, arg2, arg3):
return "{}-{}-{}".format(arg1, arg2, arg3)

在html页面引用,传三个参数

<!--自定义simple_tag-->
<p>{% gold "燃烧" "我的" "卡路里" %}</p>

自定义一个inclusion_tag函数

# 用一些数据去填充一段HTML代码 把HTML代码返回给调用方
# 类似于一个简化版的render(request, "xx.html", {})函数
@register.inclusion_tag(filename="ul.html")
def show_menu(arg): #必须传一个参数
ret = [i for i in range(arg)] #返回一个可迭代的对象
return {"num": ret} # num是返回给了ul.html页面

在写一个ul.html页面

<ul>
{% for i in num %}
<li>{{ i }}</li>
{% endfor %}
</ul>

在去展示给用户的html页面去引用这个show_menu函数

{% load ooxx %}
{% show_menu 10 %} #这里的10就是num

simple_tag

最新文章

  1. 简单生成svg文件
  2. eclipse安装插件
  3. webform 中使用ajax
  4. PHP魔术方法在框架中的应用
  5. windows系统下Python环境的搭建及Selenium的安装
  6. 计划任务中使用NT AUTHORITY\SYSTEM用户和普通管理员用户有什么差别
  7. 一些常用的集合工具的代码块(缓慢更新XD)
  8. 【Java学习笔记之十一】Java中常用的8大排序算法详解总结
  9. torchvision 作用
  10. 记一次完整的asp.net-mvc页面优化过程
  11. mongodb数据库集群及sharding分片配置
  12. html5 选择多张图片在页面内预览并上传到后台
  13. Benchmark Web App 性能瓶颈分析与性能测试工具的使用方法总结
  14. Flink &ndash; submitJob
  15. Maven报错Please ensure you are using JDK 1.4 or above and not a JRE解决方法!
  16. Jquery选择器之父节点的子节点
  17. Storm系列三: Storm消息可靠性保障
  18. python3之日期和时间(转载)
  19. 上传图片Security Error
  20. Springboot @ResponseBody返回中文乱码

热门文章

  1. jnhs-Myeclipse 10注册教程unable to access jarfile cracker.jar
  2. Docker Nginx部署
  3. SPSS20.O---软件安装
  4. Oracle删除当前用户下所有的表的方法1
  5. Go开发 之 Go如何引用github包
  6. setStorage、getStorage、 removeStorage 封装
  7. 001. 注释过的boot.s
  8. golang context用法详解
  9. python编写购物车小程序
  10. JSP Web第六章整理复习 JavaBean技术