###項目的目錄爲 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!" />