Python TemplateSyntaxError:应为令牌';:';,得到';}';

Python TemplateSyntaxError:应为令牌';:';,得到';}';,python,flask,jinja2,Python,Flask,Jinja2,这是我的源代码: <ul class="filebase"> {% for file in finance %} <li class="filelist"> <div class="file-author"><a href="http://127.0.0.1:5000/uploads/files/{{file. filename}}">{{ file.filename }}</a>

这是我的源代码:

<ul class="filebase">
        {% for file in finance %}
        <li class="filelist">
            <div class="file-author"><a href="http://127.0.0.1:5000/uploads/files/{{file. filename}}">{{ file.filename }}</a></div>
            <div class="file-body">Description: {{ file.description }}</div>
            <div class="file-date">Date posted: {{ moment(file.date).fromNow() }}</div>
            <div class="delete-file"><a href="{{ url_for('.delete_file', file_name={{ file.filename }} ) }}">Delete File</a></div><br>
        </li>
        {% endfor %}
    {财务%中的文件为%1}
  • 描述:{{file.Description}} 发布日期:{moment(file.Date).fromNow()}
  • {%endfor%}
起初,我的代码正在运行,突然我遇到了这样一个错误:

<a href="{{ url_for('viewBlog', userid={{item.userid}}) }}"></a>
TemplateSyntaxError:应为标记“:”,获得“}”

这是我的回溯(如果你需要):

回溯(最近一次呼叫最后一次):
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1836行,在调用中__
返回self.wsgi_应用程序(环境,启动响应)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1820行,位于wsgi\U应用程序中
响应=self.make\u响应(self.handle\u异常(e))
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1403行,在句柄\u异常中
重放(exc_类型、exc_值、tb)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1817行,在wsgi\u应用程序中
response=self.full\u dispatch\u request()
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1477行,完整发送请求
rv=自身处理用户异常(e)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1381行,在handle\u user\u exception中
重放(exc_类型、exc_值、tb)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1475行,完整发送请求
rv=自我分派请求()
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\app.py”,第1461行,在调度请求中
返回self.view_函数[rule.endpoint](**req.view_参数)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\u login.py”,第758行,在装饰视图中
返回函数(*args,**kwargs)
文件“C:\Users\LouieCubero\Documents\GitHub\Flasky4\app\main\views.py”,第172行,在财务列表中
返回渲染模板(“filebase.html”,finance=finance)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\flask\templating.py”,第127行,在render\u模板中
返回渲染(ctx.app.jinja\u env.get\u或选择模板(模板名称或列表),
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\environment.py”,第830行,在get\u或\u select\u模板中
返回self.get_模板(模板名称或列表、父项、全局)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\environment.py”,第791行,在get\U模板中
返回self.\u加载\u模板(名称、self.make\u全局(全局))
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\environment.py”,第765行,在加载模板中
template=self.loader.load(self、name、globals)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\loaders.py”,第125行,处于加载状态
code=environment.compile(源代码、名称、文件名)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\environment.py”,第554行,编译中
self.handle\u异常(exc\u info,source\u hint=source)
文件“C:\Users\LouieCubero\Documents\GitHub\flasky\venv\lib\site packages\jinja2\environment.py”,第742行,位于句柄\u异常中
重放(exc_类型、exc_值、tb)
文件“C:\Users\LouieCubero\Documents\GitHub\Flasky4\app\templates\\u filebase.html”,模板中第8行

TemplateSyntaxError:应为标记“:”,获得“}”
谢谢你的帮助!



不要在其他{{}块中做更多的{{}

以下是我的url_for()调用:


当它看起来像这样时,我得到了同样的错误:

<a href="{{ url_for('viewBlog', userid={{item.userid}}) }}"></a>


一旦我删除了内部的{{},问题就消失了。

这怎么可能只被标记为python?:p我猜..Django模板?它是在flask中完成的。很抱歉没有添加从文件中删除{}文件名非常感谢Burhan Khalid!:DBurhan的代码对我来说很有用!你提到Django,但问题被标记为“flask”简单的事情,但通常隐藏在显而易见的地方!令人沮丧地解决了这个错误。
<a href="{{ url_for('viewBlog', userid={{item.userid}}) }}"></a>