【问题标题】:How to preserve user input with textarea如何使用 textarea 保留用户输入
【发布时间】:2015-02-14 23:41:39
【问题描述】:

我正在为 udacity 课程编写一个 ROT13 网络应用程序。现在使用我的代码,我要做的就是获取用户输入,然后在用户输入后,使用相同的输入再次打印出表单。所以看起来没什么变化。

这是我的代码。它似乎不起作用。我认为我应该更好地使用 text 变量,但我不知道如何。

更具体地说,它接收文本,然后文本消失,我再次看到表单。

import webapp2

form="""<p style="font-size:40px"><b>Enter ROT13 text here: <br></b></p>
    <form method="post">
        <textarea rows="6" cols="60" type="text" name="text" value="%(text)s"></textarea><br>
        <input type="submit"></input>
    </form>"""


class MainPage(webapp2.RequestHandler):

    def write_form(self, text=""):
        self.response.out.write(form % {"text": text})

    def get(self):
        self.write_form()

    def post(self):
        user_words = self.request.get('text')
        self.write_form(user_words)

application = webapp2.WSGIApplication([('/', MainPage)], debug = True)

PS:每当我粘贴我的代码时,只有四个空格之后的第一行进入代码块。之后,我必须在每行前面手动输入四个空格。有没有办法解决这个问题?

【问题讨论】:

  • 格式化提示:一次缩进多行代码,将它们全部突出显示并按 ctrl-k。
  • 你能比“它似乎不起作用”更具体一点吗?
  • @jonrsharpe 文本消失了,我又看到了表单。

标签: python html python-2.7


【解决方案1】:

Yusuf,HTML 的 textarea 标签不支持 'value' 属性。如果您在标签之间进行文本替换,您的代码应该可以工作,如下所示:

... %(文本)s

我也遇到了这个问题,但在 Udacity 论坛上找到了答案: https://discussions.udacity.com/t/hw2-1-preserving-user-input-in-textarea/68268/3

希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    你在 post 函数中弄错了 使用

    def post(self):
        self.write_form()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-20
      • 2011-12-05
      • 1970-01-01
      • 2015-03-03
      • 2013-02-17
      • 2016-03-30
      • 1970-01-01
      • 2015-05-04
      相关资源
      最近更新 更多