【问题标题】:Django: Avoiding Server-Side and Client-Side Validation Code DuplicationDjango:避免服务器端和客户端验证代码重复
【发布时间】:2011-07-09 18:14:45
【问题描述】:

如何避免使用 Django 在服务器端和客户端重复验证代码?

鉴于 Django 遵循 Don't Repeat Yourself 原则,有办法做到这一点似乎是合乎逻辑的,但我不知道怎么做。

【问题讨论】:

  • 您必须在服务器端验证数据,因为您无法信任来自客户端的任何内容。有人可以轻松绕过您在网页中输入的任何验证。您还应该验证客户端上的数据 - 以提供更快速、更愉快的用户体验并略微降低服务器负载。你更愿意消除这两个中的哪一个?
  • @Robus, @ratsbane:我认为我所说的有两种解释,我并不是指你们提到的那种。 :) 我指的是 我的代码 的重复,而不是验证本身的重复。即你如何避免重复自己(例如一次在 JavaScript 中,一次在 Python 中)?例如,有没有办法根据 Python 代码自动生成 JavaScript 验证?或者以声明方式编写验证并从中生成两种代码?等

标签: python django code-duplication client-side-validation server-side-validation


【解决方案1】:

这是一个未完成的(“alpha 级”)项目,可以解决您的问题:http://eikke.com/django-validation-an-introduction/

所以我想了很久 创建一个 Django 模板标签 允许生成客户端 Javascript表单验证代码 无需自己编写任何代码 (除非使用自定义小部件).... 生成的项目称为 django-validation.

(另见Django ticket #19

【讨论】:

  • 当他们用WONTFIX 解决了这个问题时,由我们来实施直到发布一个好的包。
猜你喜欢
  • 1970-01-01
  • 2018-08-20
  • 2012-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 2016-10-16
  • 1970-01-01
相关资源
最近更新 更多