zoukankan      html  css  js  c++  java
  • 踩坑之jinja2注释问题(Flask中)

    报错信息

     jinja2.exceptions.TemplateSyntaxError 

    jinja2.exceptions.TemplateSyntaxError: Expected an expression, got 'end of statement block'

    原因

    今天在用Flask写web微信爬虫时,到了往前端页面 render_template()数据这一步,突然开始作死式的报错,怎么调后端都没用;

    然而,问题的重点不在后端,细节见下文:

    后端:

    前端:

    结果:

    排错

    排查1

    既然返回时有数据会报错,试下不传数据!

    后端:

    前端:

     

    结果:

    wtf~~~

    显然还是不行……

    按理说,直接 render_template()一个单独页面没毛病的啊……

    继续排查……

    排查2

     这下直接返回字符串,不render了

    后端:

     前端:

    前端……是没有前端的……

    因为直接 return 的是字符串,所以,用不到前端。

    结果:

    排查3

    综上,可以基本断定是模板文件的问题,也就是 index.html 文件的问题;

    修改 index.html 内容试试:

    后端:

    不传数据,只render 一个页面;

    前端:

    干净整洁,就一个 h1 标签 和文本内容

    结果:

    总结

    综上对比,基本可以断定是那段 被我注释掉的代码在作祟;

    注释内容是我直接在pycharm快捷键注释的, 对于html来说,这注释没毛病;

    但 jinja2 语法不认的!

    jinja2 语法有自己的注释方法;也就是说本次问题症结就是 jinja2 语法中的 “注释” 方式;

    jinja2 注释方式

    在jinja2中 {#  #} 表示注释,其中内容不被模板引擎转义。

     

  • 相关阅读:
    神盾局第4季
    PAT 1053. Path of Equal Weight (30)
    PAT 1052. Linked List Sorting (25)
    PAT 1051. Pop Sequence (25)
    PAT-1049. Counting Ones (30)
    PAT-1047. Student List for Course (25)
    PAT 1045. Favorite Color Stripe (30)
    每日编程-20170308
    技术博客的第一篇文章
    《C语言》while语句和dowhie语句(7)
  • 原文地址:https://www.cnblogs.com/bigtreei/p/9016585.html
Copyright © 2011-2022 走看看