django模型中的跨域验证器

django-xvalidate的Python项目详细描述


https://travis-ci.org/suriya/django-xvalidate.svg?branch=masterhttps://coveralls.io/repos/suriya/django-xvalidate/badge.svg?branch=master&service=githubLatest PyPI version

django xvalidate允许您在 Django模型。

例如,考虑一个名为Event的django模型。

fromdjango.dbimportmodelsclassEvent(models.Model):title=models.CharField(max_length=255)start_date=models.DateField()end_date=models.DateField()

django xvalidate允许您声明开始日期早于结束日期 日期如下:

fromdjango.dbimportmodelsfromxvalidateimportXValidatedModel,XLeclassEvent(XValidatedModel,models.Model):title=models.CharField(max_length=255)start_date=models.DateField()end_date=models.DateField()classXVMeta(XValidatedModel.XVMeta):spec=[XLe('start_date','end_date').message('The start date should precede the end date')]

XValidatedModel确保维护此规范 调用Event.clean()并将ValidationError提升为 适当的。

为什么使用django xvalidate?

django xvalidate允许您指定如何验证模型实例 以比在 clean()方法。如果没有django xvalidate,您将不得不 将上述示例实现为

defclean(self):super(Event,self).clean()if(self.start_dateisnotNone)and(self.end_dateisnotNone):if(self.end_date<self.start_date):raiseValidationError('The start date should precede the end date')

对于更具声明性的格式,我们可以在 将来自动创建通过(或失败)的测试数据 验证。

django xvalidate带来了一些运算符重载,它带来了语法上的 加糖给你的声明,使它们非常容易阅读。例如, 您可以指定:

((XF('end_date')-'start_date')>datetime.timedelta(days=4)).message('Event should last at least 5 days')

django xvalidate还允许使用django的双下划线(__) 取消引用相关对象的语法,从而实现简洁的定义,如 如下所示

(XF('registration_date')<='event__end_date').message('Must register before the event ends')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用户界面java,使用gui连接到另一台计算机/服务器的文件系统   运行sbt的ubuntu返回错误:“javahome需要<path>参数”   java如何在Android中处理许多ImageView而不出现内存问题?   查询中非法字符的java相同URL失败   安卓取消引用可能会产生“java”。lang.NullPointerException'   java中的indexoutofboundsexception“java.lang.ArrayIndexOutOfBoundsException”错误   xml Java将dom保存到文件>文件在程序结束后由另一个进程打开   Java的垃圾收集器是如何工作的?   Java如何筛选值(列表)   java处理字符串我怎样才能像在真实的书籍中一样在上面部分生成“小数字”呢?   java SonarQube是否有一个API来获取所有项目分析的一部分?   java startActivity(intent)什么都不做   JAVAutil。扫描器类Java   java如何从Firebase更新电子邮件?UpdateMail方法已被弃用   java Hibernate。如何正确组织带有注释的onetomany关系?   在java中获得卷标和驱动器号之间的映射(而不是FileSystemView)的解决方法是什么   java查找文件的路径