###项目的目录为 css
在app中建立templates时,最好要再建立一个app名相同的文件夹,由于项目找文件时从第一个app开始遍历,不一样app内的同名文件会有冲突,因此这样处理html
一.自定义标签和过滤器
1.在settings中的INSTALLED_APPS配置当前app,不然django没法找到自定义的simple_tagpython
2.在app中建立templatetags模块(模块名只能是templatetags)django
3.建立 任意名称的.py 文件,如: my_tags.pyapp
from django import template from django.utils.safestring import mark_safe register = template.Library() #register的名字是固定的,不可改变 @register.filter def filter_multi(v1,v2): return v1 * v2 @register.simple_tag def simple_tag_multi(v1,v2): return v1 * v2 @register.simple_tag def my_input(id,arg): result = "<input type='text' id='%s' class='%s' />" %(id,arg,) return mark_safe(result)
4.使用自定义simple_tag和filter的html文件中导入以前建立的my_tags.pyui
{% load my_tags %}
5.使用simple_tag和filterspa
{% load xxx %} {{ num|filter_multi:2 }}
filter能够用在if,for等语句后面, simple_tag不能够code
<br/>orm
二.inclusion_tag
多用于返回html代码片断 htm
templates/my_inclusion.py
from django import template register = template.Library() @register.inclusion_tag('result.html') def show_results(n): n = 1 if n<1 else int(n) data = ["第{}项".format(i) for i in range(1, n+1)] return {"data": data}
templates/snippets/result.html
<ul> {% for choice in data %} <li>{{ choice }}</li> {% endfor %} </ul>
templates/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>inclusion_tag test</title> </head> <body> {% load my_inclusion %} {% show_results 10 %} </body> </html>
<br/>
三.引入静态文件
js, css, img 文件等都叫作静态文件, 那么关于django中静态文件的配置, 咱们就须要在settings配置文件里面协商这些内容
STATIC_URL = '/xxx/' # 别名 STATICFILES_DIRS = [ os.path.join(BASE_DIR,"jingtaiwenjian"), ]
###{% static %}
{% load static %} <img src="{% static "images/hi.jpg" %}" alt="Hi!" />
引用js文件时使用:
{% load static %} <script src="{% static "mytest.js" %}"></script>
某个文件多处被用到能够存为一个变量
{% load static %} {% static "images/hi.jpg" as myphoto %} <img src="{{ myphoto }}"></img>
{% get_static_prefix %}
{% load static %} <img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
或
{% load static %} {% get_static_prefix as STATIC_PREFIX %} <img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" /> <img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />