代码之家  ›  专栏  ›  技术社区  ›  Karim

在不使用django表单类的情况下清除输入字符串

  •  11
  • Karim  · 技术社区  · 16 年前

    也就是说,我正在编写通过AJAX交付表单输入的代码,因此我跳过了django提供的整个表单模型。但我确实希望在提交到数据库之前清除输入。

    1 回复  |  直到 16 年前
        1
  •  16
  •   Matt Baker    16 年前

    Django表单模型不仅仅是关于呈现表单,它们更多的是关于处理和清理表单(GET/POST)输入,这 你想做什么。当来自AJAX请求的POST或GET数据到达服务器时,它基本上无法与表单数据区分开来。我主张创建一个表单模型,它是

    想想一个例子:

    POST /login.jsp HTTP/1.1
    Host: www.mysite.com
    User-Agent: Mozilla/4.0
    Content-Length: 27
    Content-Type: application/x-www-form-urlencoded
    
    userid=joe&password=guessme
    

    来自表单:)

    如果您创建一个表单模型来表示您的AJAX请求,那么您将得到它附带的所有钩子和清理,这一切都有点“django风格”。

    关于你的评论:

    正如您所说,您将使用它来清理数据,以便根据发送的数据定义表单类。例如,如果我有一个AJAX请求,它提交了一个带有名称、电子邮件和CommentBody数据的注释,这将是一个表单类。如果我有另一个AJAX请求发布一篇新文章,发送Title、Author和ArticleBody,这将是另一个表单类。

    并不是所有AJAX请求都需要表单,如果您有一个AJAX调用投票支持一条评论,您可能不会将其视为表单,因为(我猜)您不需要清理任何数据。