用jieja做测试学习的时候遇到这么一个报错
jinja2.exceptions.TemplateSyntaxError jinja2.exceptions.TemplateSyntaxError: unexpected char '…' at 208 Traceback (most recent call last) File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 2309, in __call__ return self.wsgi_app(environ, start_response) File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app response = self.handle_exception(e) File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception reraise(exc_type, exc_value, tb) File "/anaconda3/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "/anaconda3/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/anaconda3/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/Users/chenjian/PycharmProjects/testAnaconda/microblog/app/views.py", line 19, in index user = user) File "/anaconda3/lib/python3.7/site-packages/flask/templating.py", line 134, in render_template return _render(ctx.app.jinja_env.get_or_select_template(template_name_or_list), File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 869, in get_or_select_template return self.get_template(template_name_or_list, parent, globals) File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 830, in get_template return self._load_template(name, self.make_globals(globals)) File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 804, in _load_template template = self.loader.load(self, name, globals) File "/anaconda3/lib/python3.7/site-packages/jinja2/loaders.py", line 125, in load code = environment.compile(source, name, filename) File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 591, in compile self.handle_exception(exc_info, source_hint=source_hint) File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception reraise(exc_type, exc_value, tb) File "/anaconda3/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise raise value.with_traceback(tb) File "/Users/chenjian/PycharmProjects/testAnaconda/microblog/app/templates/index.html", line 12, in template <!--Jinja2 模板同样支持控制语句,像在 {%…%} 块中。让我们在我们的模板中添加一个 File "/anaconda3/lib/python3.7/site-packages/jinja2/environment.py", line 497, in _parse return Parser(self, source, name, encode_filename(filename)).parse() File "/anaconda3/lib/python3.7/site-packages/jinja2/parser.py", line 901, in parse result = nodes.Template(self.subparse(), lineno=1) File "/anaconda3/lib/python3.7/site-packages/jinja2/parser.py", line 879, in subparse next(self.stream) File "/anaconda3/lib/python3.7/site-packages/jinja2/lexer.py", line 359, in __next__ self.current = next(self._iter) File "/anaconda3/lib/python3.7/site-packages/jinja2/lexer.py", line 562, in wrap for lineno, token, value in stream: File "/anaconda3/lib/python3.7/site-packages/jinja2/lexer.py", line 739, in tokeniter name, filename) jinja2.exceptions.TemplateSyntaxError: unexpected char '…' at 208 The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error. To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side. You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection: dump() shows all variables in the frame dump(obj) dumps all that's known about the object
遇到报错不能慌,仔细分析报错内容:
第一处就是这里:
jinja2.exceptions.TemplateSyntaxError: unexpected char '…' at 208
从上面的报错隐约感觉似乎和字符相关,但是不能确定具体是哪里的,然后往下看,另外一处报了(主要其他处也看不太明白):
File "/Users/chenjian/PycharmProjects/testAnaconda/microblog/app/templates/index.html", line 12, in template <!--Jinja2 模板同样支持控制语句,像在 {%…%} 块中。让我们在我们的模板中添加一个
自取检查index.html 这个文件中发现有中文的注释,似乎是这里影响了,但是我不熟悉jieba,所以删掉了这个中文注释,测试了一下,报错就消失了。
问题解决了,但是不明白为啥这里的jiaba 不能解析注释掉的 html的中文代码。