在
Flask
中有
render_template
函數,用于解析
jinja2
模板,現在我們來簡單實現它。代碼如下:
from os import path
from jinja2 import Environment, FileSystemLoader
project_path = path.abspath(path.join(path.dirname(__file__), '..'))
templates_path = '{}/templates'.format(project_path)
loader = FileSystemLoader(templates_path)
env = Environment(loader=loader)
def render_template(template, **kwargs):
temp = env.get_template(template)
return temp.render(**kwargs)
首先需要導入
jinja2
模塊中的
Environment
和
FileSystemLoader
,用
os.path
獲取到模板的存放位置
templates_path
,將其作為參數傳給
FileSystemLoader
實例化出一個
loader
對象,再將
loader
傳遞給
Environment
實例一個
env
對象,
env
對象的
get_template
方法獲取模板
temp
,調用
temp.render
返回渲染后的內容,使用
**kwargs
來傳參數給模板。
密碼的加密,可以使用
hashlib
這個庫,可以實現
md5
、
sha1
、
sha256
等多種
hash
方式,例如:
import hashlib
def generate_hash(string):
new_string = string.encode('ascii')
sha256 = hashlib.sha256()
sha256.update(new_string)
return sha256.hexdigest()
傳入的
string
,
generate_hash
會返回
sha256
加密之后的字符串,值得一提的是
sha256.update(new_string)
的
update
方法,
sha256.update("Hello World")
和依次
sha256.update("Hello ")
、
sha256.update("World")
返回的結果是一樣。
?
?
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
