b' 在行首 - Django 模板解析错误

b' at start of line - error in django template parsing

我正在尝试按照 oTree 的 public 商品教程进行操作,但我的模板出现语法错误。我正在使用 vim 编辑(在本例中是创建)模板,但是当我尝试 运行 otree resetdb 它 return 出现以下错误:

SystemCheckError: System check identified some issues:

ERRORS:
public_goods_tutorial: (otree.E008) Template syntax error in /[obfuscated]/oTree/public_goods_tutorial/templates/public_goods_tutorial/Contribute.html

   1 | b''
   2 | b'{% extends "global/Page.html %}'
-------^
   3 | b'{% load staticfiles otree_tags %}'
   4 | b''
   5 | b'{% block title %} Contribute {% endblock %}'
   6 | b''
   7 | b'{% block content %}'

Error: Could not parse the remainder: '"global/Page.html' from '"global/Page.html'

似乎模板 linter/parser 被行首的 newline/carriage return 字符阻塞(要清楚 - b' 字符是 "appearing out of nowhere" - 当我在 vim 中编辑时,它们不会出现在文件中。

运行通过简单的调查教程和其中编辑的模板文件,这个问题并没有表现出来。该错误特别发生在我创建的新文件上,而不是 otree startapp 创建的文件上(尽管这可能只是巧合,因为它按字母顺序排在第一位?)

我已经检查过,这个文件的编码和文件编码都设置为 utf-8,文档似乎暗示这是 django 的默认设置。

什么可能导致我的错误,我该如何解决?

您的模板在 'global/Page.html' 后缺少结束双引号。你想要:

{% extends "global/Page.html" %}