❶ django模塊不能用for i in range(0, 5)總報錯
我覺得你的目的很簡單,就是想在模版中簡單執行5次循環。可以使用make_list過濾器:
{% for i in '12345'|make_list %}
{{ i }}
{% endfor %}如果覺得這樣有局限性,可以寫一個簡單的自定義過濾器:
@register.filter('list')
def do_list(value):
return range(1, value+1)然後這樣使用:
{% for i in 5|list %}
{{ i }}
{% endfor %}如果你已經在視圖中定義了好了一個變數,而只想執行5次,那麼可以這樣子:
{% for i in example|slice:":5" %}
{{ i }}
{% endfor %}
❷ django中模板頁面如何實現字元串匹配替換 解決後提高懸賞
兩個方案:
1:在後台將數據替換好送到前台,後台處理的辦法可以使用replace或者正則版表達式
2:後台不處理,讓前台用權jquery來處理,處理辦法是正則表達式。
因為你沒有具體的程序,所以只能給你一些建議。如果你把程序貼出來,可能會有更佳的解決辦法。
❸ django先exclude 再filter
Model.objects.exclude(xxxx=xx).filter(xxxx=xx)
這樣就可以了,可以連貫操作的。。。
filter裡面也可以多個filter(xxxx=xx,aaa=aa,bbb=bb)
❹ 怎麼Django標簽過濾
1.創建一個模板庫
使用模板過濾器的時候,直接把過濾器寫在app里,
例如:在app里新建一個templatetags的文件夾,這個目錄應當和 models.py 、 views.py 等處於同一層次。例如:
books/
__init__.py
models.py
templatetags/
views.py
在 templatetags 中創建兩個空文件:一個 __init__.py (告訴Python這是一個包含了Python代碼的包)和一個用來存放你自定義的標簽/過濾器定義的文件。第二個文件的名字稍後將用來載入標簽。例如,如果你的自定義標簽/過濾器在一個叫作 poll_extras.py 的文件中,你需要在模板中寫入如下內容: {% load poll_extras %}
{% load %}標簽檢查 INSTALLED_APPS 中的設置,僅允許載入已安裝的Django應用程序中的模板庫。
要成為有效的標簽庫,模塊必須包含一個模塊級的變數: register ,這是一個 template.Library 的實例。這個 template.Library 實例是包含所有已注冊的標簽及過濾器的數據結構。因此,在模塊的頂部位置插入下述代碼:
fromdjangoimport template
register = template.Library()