用Jinja2代替正则表达式

前端开发 2026-07-12

我使用Jinja2和 mixhtml来校验用户输入的长度。

来自我的app.py的两个约束条件:
USER_USERNAME_MIN = 2
USER_USERNAME_MAX = 20

但我不确定该如何把它们放入输入校验器中:
<input mixvalidate="^.{2,5]$">

这样做的目的是让我不需要把它改成放在多个文件里,而只在一个地方修改。

解决方案

你可以使用以下语法:

<input mixvalidate="^.{ {{-USER_USERNAME_MIN}},{{USER_USERNAME_MAX}}}$">

这些 {{ }} 包装器是注入Jinja变量的标准做法。这里用一个空格来区分字面量的左花括号与注入语法,负号用于在最终结果中去掉该空格。

请在 packetcoders.io/j2-render 查看。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章