自定義測試

2018-02-24 15:39 更新

測試像過濾器一樣工作,只是測試不能訪問環(huán)境或上下文,并且它們不能鏈式使用。 測試的返回值應該是?True?或?False?。測試的用途是讓模板設計者運行類型和 一致性檢查。

這里是一個簡單的測試,檢驗一個變量是否是素數(shù):

import math

def is_prime(n):
    if n == 2:
        return True
    for i in xrange(2, int(math.ceil(math.sqrt(n))) + 1):
        if n % i == 0:
            return False
    return True

你可以通過更新環(huán)境上的?tests?字典來注冊它:

environment.tests['prime'] = is_prime

模板設計者可以在之后這樣使用測試:

{% if 42 is prime %}
    42 is a prime number
{% else %}
    42 is not a prime number
{% endif %}
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號