python - 如何在 Python Flask 中的一行中打印字符串列表
问题描述
我有这个列表,在 Python 文件(Google Colab)中生成
pitch_dataset =
['0', 'G#3 / Ab3', 'A#3 / Bb3', 'B3', 'C4', 'C#4 / Db4', 'D4', 'D#4 / Eb4', 'E4', 'F4', 'F#4 / Gb4', 'G4']
我想在没有[]
或' '
在我的 HTML 输出页面内打印此列表。
0, G#3 / Ab3, A#3 / Bb3, B3, C4, C#4 / Db4, D4, D#4 / Eb4, E4, F4, F#4 / Gb4, G4]
但是,通过使用此代码:
<div class="form-group row">
<label for="detected_pitch" class="col-sm-2 col-form-label">Pitch from dataset: </label>
<div class="col-sm-10" style="padding-top: 8px">
{% for i in pitch_dataset: %}
{% print(i, end=", ") %}
{% endfor %}
</div>
</div>
我收到了这个错误
[2021-03-26 14:14:12,584] ERROR in app: Exception on /usertest [POST]
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/dist-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/dist-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "<ipython-input-35-e88c3eaabc23>", line 4, in no_cache
response = make_response(view(*args, **kwargs))
File "<ipython-input-56-21918cccddbd>", line 42, in usertest
return render_template('/usertest.html', song_title=song_title, page_title=page_title, pitch_dataset=pitch_dataset, pitch_class=pitch_class, distance=distance)
File "/usr/local/lib/python3.7/dist-packages/flask/templating.py", line 138, in render_template
ctx.app.jinja_env.get_or_select_template(template_name_or_list),
File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 930, in get_or_select_template
return self.get_template(template_name_or_list, parent, globals)
File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 883, in get_template
return self._load_template(name, self.make_globals(globals))
File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 857, in _load_template
template = self.loader.load(self, name, globals)
File "/usr/local/lib/python3.7/dist-packages/jinja2/loaders.py", line 127, in load
code = environment.compile(source, name, filename)
File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 638, in compile
self.handle_exception(source=source_hint)
File "/usr/local/lib/python3.7/dist-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/usr/local/lib/python3.7/dist-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/content/./drive/MyDrive/1117002_Code Skripsi/FlaskUI/templates/usertest.html", line 23, in template
{% print(i, end=", ") %}
jinja2.exceptions.TemplateSyntaxError: expected token ')', got '='
有没有其他方法可以做到这一点?我已经尝试了在这里找到的所有代码,但没有一个运行良好。
解决方案
如果将列表转换为字符串怎么办?
pitch_dataset_string = ', '.join(pitch_dataset)
在模板中,您可以执行以下操作:
<div class="form-group row">
<label for="detected_pitch" class="col-sm-2 col-form-label">Pitch from dataset: </label>
<div class="col-sm-10" style="padding-top: 8px">
{{ pitch_dataset_string }}
</div>
</div>
推荐阅读
- .net-core - .NET Core 项目未打开,抱怨 WPF 和其他不相关的东西
- python - Pytest with line-delineated json
- reactjs - 如何设置具有不同商店的多个提供商?
- ruby-on-rails - 如何在 rspec (请求规范)上登录而无需守望者回调
- node.js - Graphql 无效的 CSRF 令牌
- node.js - 将变量传递给路径
- sql - 如何通过 2 行计算找到特殊的 2 个单词?
- jsp - getDataSource().getConnection() 的 NullPointerException
- python - 使用 OpenCV 跟踪对象,如何最小化搜索区域,同时不降低整体画面?
- angular - 如何验证 Angular Reactive Forms 中的 matDatepicker 输入