Я хочу добавить функцию на свой сайт, чтобы добавить переменную 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 () |safe}} с таблицей поиска регулярных выражений из объектов mongoengine.
Например:
datalayer.objects выглядят так:
url = "/product/.*" # regex
datalayer = "dataLayer = {"product":1};" # js code
, когда пользователь посещает URLсоответствие страницы с "/product/.*", затем
<script>
{{ get_dataLayer() | safe }}
</script>
рендеринг в
<script>
dataLayer = {"product":1};
</script>
Мне действительно нужна идея, чтобы добавить эту функцию.Что-нибудь, пожалуйста, дайте мне знать.
большое спасибо, ребята