【问题标题】:Passing textarea input from html to flask将文本区域输入从 html 传递到烧瓶
【发布时间】:2021-09-22 07:44:19
【问题描述】:
  1. 我正在尝试将 textarea 输入从我的 html 表单传递到烧瓶,但有些我无法实现它。下面是代码。
html file
<form action="{{ url_for('next') }}" method="post">
<textarea rows="10" name="test"></textarea>
<button>submit</button>
</form>

所以我希望从用户那里获取多行输入并以相同的方式存储它,例如:

user input in textarea:-

abc
def
ghi
jkl

所需的输出或以与多行字符串和换行符相同的方式存储它。

output:-
abc
def
ghi
jkl

python 代码 -

def next():
  if request.method == 'POST':
     name= request.form['test']
     #this doesn't work

Error -  raise exceptions.BadRequestKeyError(key)

我对烧瓶非常陌生,正在尝试探索。感谢您的帮助。

【问题讨论】:

  • 请提供整个&lt;form&gt;的sn-p,如果有任何错误信息,请粘贴
  • @Daweo 感谢您的回复,我已经编辑了问题和错误 - 我只是想弄清楚如何将 textarea 多行输入传递给刚刚尝试 request.form 的烧瓶,但它不起作用我猜这不是正确的方法。

标签: python html python-3.x flask flask-wtforms


【解决方案1】:

你的表格是

<form action="{{ url_for('next') }}" method="post">
<textarea rows="10" name="test"></textarea>
<button>submit</button>
</form>

即textarea被命名为test,但在这里

def next():
  if request.method == 'POST':
     name= request.form['name']

你问的是一些命名 name 的东西,它不存在,因此 BadRequestKeyError 发生了,你应该这样做

def next():
  if request.method == 'POST':
     name= request.form["test"]

【讨论】:

  • 我在我的代码中使用了 test 但给出了同样的错误。
  • @rajkundra 请用print(request.form) 替换name = request.form["test"] 并写下你得到了什么
  • 在我的问题中如上所述在 textarea 中传递输入之后。它给 ImmutableMultiDict([])
猜你喜欢
  • 2020-12-21
  • 1970-01-01
  • 2013-12-05
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 2018-06-08
  • 2016-06-21
  • 2019-04-02
相关资源
最近更新 更多