将a<textarea>的内容保存到B文件中

2024-05-23 22:44:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个小的web门户,它将允许用户为计算语言学项目注释一些文本,并将注释保存到文件中。在

我无法保存修改后的文本。在

我的页面是:

from bottle import template  
from project import app
from bottle import request
from bottle import redirect
import random


@app.route('/')
def index():
    notices = 'This is a placeholder text for StackOverflow'
    return template('annotator/index', package=notices)


@app.route('/annotator/submit', method=['GET'])
def submit():
    with open('output.txt', 'w') as outfile:
        package = str(request.GET.get('package'))
        outfile.write(str(package))
        redirect('/')

我的页面布局是:

^{pr2}$

提交页面是:

<form action="annotator/submit" method="post">
<dl>
Thank you
</dl>
</form>
%rebase layout/layout

但是,文件中只保存了单词“submit”,而不是的内容,这是我想要保存的内容,因为它将是注释的结果。在

这是我的第一个网络应用程序,我有点困惑。在


Tags: 文件from文本importappbottlepackagerequest
1条回答
网友
1楼 · 发布于 2024-05-23 22:44:27

您的textarea和submit表单项都命名为“package”。在

将您的按钮改为这个,看看这是否有帮助:

<INPUT TYPE=SUBMIT name="submit" VALUE="Submit">

编辑:说明

有两个同名表单项的问题是,应用程序在查询字符串中同时接收它们。例如

http://yourserver.com/annotator/submit?package=sometext&package=Submit

在您的应用程序中,您将有效地获得查询参数的dict,它看起来像{'package': 'sometext'}{'package': 'Submit'}。得到哪一个完全取决于应用程序(瓶子),但是最有可能的是按顺序处理查询参数的实现会导致第二个值优先,因为它会覆盖第一个值。在

大多数web框架都公开了一种获取给定名称的所有查询参数的方法;在瓶瓶中,它是request.query.getall。因此request.query.getall('package')将返回['sometext', 'Submit']。但是在您的例子中,首先避免名称冲突比保留它然后检索多个值更有意义。在

希望有帮助!在

相关问题 更多 >