用Jinja2代替正则表达式
我使用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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。