【发布时间】:2010-10-11 01:03:16
【问题描述】:
我对 Python、Django 还有些陌生,我想要一些关于如何布局我想编写的代码的建议。
我编写了允许上传文件的模型。在模型保存方法中,我正在检查文件是否具有特定扩展名。如果它具有 XML 扩展名,我将打开文件并从文件中获取一些信息以保存在数据库中。我有这个模型工作。我已经在内置管理中对其进行了测试。它有效。
当前,当出现错误时(它不是 XML 文件;无法打开文件;特定属性不存在)我会抛出自定义“异常”错误。我想要想要做的是如何将这些“异常”错误消息传递给视图(无论是自定义视图还是内置管理视图)并显示错误消息,就像表单一样正在使用库。这可能吗?
我开始认为我将不得不使用表单库再次编写验证检查。如果是这种情况,是否仍然可以使用内置管理模板,但扩展它使用的表单来添加这些自定义验证?
任何能帮助我解决困惑的事情都将不胜感激。
更新:
到目前为止,这是我的模型,对于那些询问的人,“nzb”是 XML 文件字段。
http://dpaste.com/hold/6101/
管理界面将使用您与模型关联的表单;您自己的观点也可以使用该表单。
这正是我想做的。但是,我不知道如何将我的表单与我的模型相关联。过去,当我创建表单时,它们总是充当自己的实体。在使用 ModelForm 类时,我永远无法让管理视图使用它们。您能对此有所了解吗?
我已经阅读了你给我的链接,这似乎是我过去所做的,没有运气。
从文件中获取属性,应该是一个方法吧。
抱歉,您能详细说明一下吗?方法在哪里?
更新:
似乎我完全错过了将表单链接到管理视图的这一步。 http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin
这现在应该允许我在表单中进行验证。但是,我仍然对如何实际处理验证感到困惑。 S.Lott 说应该是一种方法?
【问题讨论】:
标签: python django validation