是否建议使用Django清除输入字符串而不使用Django表单系统?
也就是说,我正在编写通过AJAX提供表单输入的代码,所以我跳过django提供的整个表单模型。但是,在提交到数据库之前,我确实希望清理输入。
发布于 2009-11-08 19:10:52
Django表单模型不仅仅是渲染表单,它们更多的是处理和清理表单(GET/POST)输入,这正是您想要做的。当来自AJAX请求的POST或GET数据到达您的服务器时,它与表单数据本质上是无法区分的。我主张创建一个表单模型,它是AJAX请求的模型。
想一想一个例子:
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请求或表单,当它到达您的服务器时,这并不重要!当然,它们被称为表单模型,因为这通常是GET或POST数据的来源,但它不一定来自于表单:)
如果您创建一个表单模型来表示您的AJAX请求,那么您将得到它附带的所有钩子和散列,这都是"django-esque“。
有关您的评论的更新:
我想你会有多个表单类。显然,我不知道你的系统是如何设计的,但我会提供我能提供的建议。
正如您所说的,您将使用它来净化您的数据,因此您需要根据所发送的数据定义表单类。例如,如果我有一个AJAX请求提交带有名称、电子邮件和CommentBody数据的注释,那么这将是一个表单类。如果我有另一个AJAX请求,它会发布一篇发送标题、作者和ArticleBody的新文章,这将是另一个表单类。
并不是所有的AJAX请求都需要一个表单,如果您有一个AJAX调用来对一个注释进行投票,那么您可能不会把它当作一个表单来处理,因为(我猜)您不需要对任何数据进行清理。
https://stackoverflow.com/questions/1697508
复制相似问题