javascript - render_template 导致 TypeError: 'str' object is not callable
问题描述
我希望用户选择radio button
将此信息发送到服务器。最后,服务器将结果发送到TextArea
字段中。我有以下代码,只要我选择任何radio button
:
Traceback (most recent call last):
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 2463, in __call__
return self.wsgi_app(environ, start_response)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 2449, in wsgi_app
response = self.handle_exception(e)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 1866, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/loc/projects/flask/hellp.py", line 29, in hello_world
return render_template('example.html', form=form)
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/templating.py", line 140, in render_template
ctx.app,
File "/home/loc/miniconda3/lib/python3.7/site-packages/flask/templating.py", line 120, in _render
rv = template.render(context)
File "/home/loc/miniconda3/lib/python3.7/site-packages/jinja2/asyncsupport.py", line 76, in render
return original_render(self, *args, **kwargs)
File "/home/loc/miniconda3/lib/python3.7/site-packages/jinja2/environment.py", line 1008, in render
return self.environment.handle_exception(exc_info, True)
File "/home/loc/miniconda3/lib/python3.7/site-packages/jinja2/environment.py", line 780, in handle_exception
reraise(exc_type, exc_value, tb)
File "/home/loc/miniconda3/lib/python3.7/site-packages/jinja2/_compat.py", line 37, in reraise
raise value.with_traceback(tb)
File "/home/loc/projects/flask/templates/example.html", line 6, in top-level template code
{{ form.text(cols="35", rows="20") }}
TypeError: 'str' object is not callable
test.py
:
from flask import Flask, render_template, request
from wtforms import Form, RadioField, TextAreaField
from wtforms.widgets import TextArea
SECRET_KEY = 'development'
app = Flask(__name__)
app.config.from_object(__name__)
class SimpleForm(Form):
radio = RadioField(
'Label', choices=[('location', 'location'), ('neighbour', 'neighbour')])
text = TextAreaField('Text', widget=TextArea())
@app.route('/', methods=['post', 'get'])
def hello_world():
form = SimpleForm(request.form)
if request.method == 'POST':
if form.validate():
print(form.radio.data)
else:
print(form.errors)
if form.radio.data == "location":
form.text = "EARTH"
return render_template('example.html', form=form)
if __name__ == '__main__':
app.run(debug=True)
templates/example.html
:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="{{url_for('static', filename='vehicle.js')}}"></script>
<form id="myform" action="" method="post">
{{ form.radio }}
{{ form.text(cols="35", rows="20") }}
<div id="result"></div>
</form>
static/vehicle.js
:
$( document ).ready(function() {
$('#myform input[type=radio]').on('change', function(event) {
var result = $(this).val();
$('#result').html(result);
$('#myform').submit();
});
});
我错过了什么?
解决方案
推荐阅读
- c# - 如何在asp.net中的页面刷新后将用户添加的项目带到下拉列表中?
- javascript - 缓存胸围静态网址
- swift - Swift Convert Optional String to Int or Int32 (Unwrapping optionals question)
- python - 从管道对象中提取超参数
- python - 更新新文件路径的变量
- sql - Postgres 在 SQL Server BCP 文件的最后一个预期列之后复制错误额外数据
- csv - 如何将压缩的 .csv 文件从 AWS-EFS 导入 MariaDB 集群
- python - 如何只保留 16 位 PCM 音频数据的 12 个最高有效位?
- javascript - 如何在 JavaScript 中引用一行代码?
- java - 从 Cygwin 终端运行 JUnit 4 时出现“NoClassDefFoundError”