小编Raz*_*ooo的帖子

Gin gonic 模板覆盖部分模板

我正在使用杜松子酒 Gonic 及其功能。一种是 html 模板渲染。因此,本着 DRY 的精神,我想创建一个base.html包含所有常见 html 标签等的模板,并为不同的页面主体提供一个插槽。

从本质上来说,这就是base.html

{{define "base"}}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

{{ template "main" . }}

</body>
</html>
{{end}}
Run Code Online (Sandbox Code Playgroud)

然后我创建了一个名为的“子”模板home.html

{{template "base" .}}

{{define "main"}}
    <div class="container mt-5">
        Hello
    </div>
{{end}}
Run Code Online (Sandbox Code Playgroud)

我按照这个页面上的这个精彩指南进行操作,它很有魅力。

问题

但是当我尝试添加另一个具有不同主体的页面时,例如subpage.html

{{template "base" .}}

{{define "main"}}
<div class="container">
    <div>
        <h2>This page is still in progress</h2>
    </div>
</div>
{{end}}
Run Code Online (Sandbox Code Playgroud)

LoadHTMLFilesgins或选取的最后一个模板LoadHTMLGlob将显示在每个页面上。在这种情况下,这就是subpage.html内容。我该如何解决。默认情况下是否有可能实现这种行为?

html go go-gin

7
推荐指数
1
解决办法
1855
查看次数

无法使用 pycrypto AES 加密带有特殊字符的字符串

描述

我想将人名存储在 MySQL 数据库中。因为数据是敏感信息,我想用 AES 对其进行加密。我正在使用PyCrypto AES模块。我正在使用的代码是:

class AESCipher(object):

    def __init__(self, key):
        self.bs = 64
        self.key = hashlib.sha256(key.encode()).digest()

    def encrypt(self, raw):
        raw = self._pad(raw)
        iv = Random.new().read(AES.block_size)
        cipher = AES.new(self.key, AES.MODE_CBC, iv)
        return base64.b64encode(iv + cipher.encrypt(raw))

    def decrypt(self, enc):
        enc = base64.b64decode(enc)
        iv = enc[:AES.block_size]
        cipher = AES.new(self.key, AES.MODE_CBC, iv)
        return self._unpad(cipher.decrypt(enc[AES.block_size:])).decode('utf-8')

    def _pad(self, s):
        return s + (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs)

    @staticmethod
    def _unpad(s):
        return s[:-ord(s[len(s)-1:])]

operator = AESCipher(data_encryption_key)
Run Code Online (Sandbox Code Playgroud)

用于加密的密钥是一个随机的长字符串。 …

python encryption aes pycrypto

2
推荐指数
1
解决办法
1854
查看次数

标签 统计

aes ×1

encryption ×1

go ×1

go-gin ×1

html ×1

pycrypto ×1

python ×1