我想向我的网站添加功能以添加js变量,具体取决于正则表达式查找表。
我正在使用Flask和mongoengine,并通过flask-admin对其进行管理
例如,我定义了一个mongoengine对象,如下所示:
class dataLayer(db.Document):
url = db.StringField()
datalayer = db.StringField() # js code
published = db.BooleanField(default=True)
pub_date = db.DateTimeField(default=datetime.now)
des = db.StringField(default='datalayer implementation')
在所有模板中定义一个Jinja变量:
def get_dataLayer(url):
"""
input the current url path, based on the regex lookup table to output variable
"""
return dataLayer.datalayer or "var dataLayer = [];"
app.add_template_global(get_dataLayer, 'get_dataLayer')
并在jinja2模板中:
<script>
{{ get_dataLayer() | safe }}
</script>
我要更改{{get_dataLayer()|安全}}和来自mongoengine对象的正则表达式查找表。
例如:
datalayer.objects看起来像:
url = "/product/.*" # regex
datalayer = "dataLayer = {"product":1};" # js code
当用户访问与“ /product/.*”匹配的网址页面时,
<script>
{{ get_dataLayer() | safe }}
</script>
渲染到
<script>
dataLayer = {"product":1};
</script>
我真的需要一些想法来添加此功能。有什么请让我知道。
非常感谢你们,伙计们