首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用django表单类来清理输入字符串

不使用django表单类来清理输入字符串
EN

Stack Overflow用户
提问于 2009-11-08 18:53:11
回答 1查看 4.6K关注 0票数 11

是否建议使用Django清除输入字符串而不使用Django表单系统?

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-11-08 19:10:52

Django表单模型不仅仅是渲染表单,它们更多的是处理和清理表单(GET/POST)输入,这正是您想要做的。当来自AJAX请求的POST或GET数据到达您的服务器时,它与表单数据本质上是无法区分的。我主张创建一个表单模型,它是AJAX请求的模型。

想一想一个例子:

代码语言:javascript
复制
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调用来对一个注释进行投票,那么您可能不会把它当作一个表单来处理,因为(我猜)您不需要对任何数据进行清理。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1697508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档