问题标签 [django-validation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 如何在 Django 中获取 UploadedFile 的临时名称?
我正在做一些文件验证,并希望将 UploadedFile 加载到外部库中,同时它位于“/tmp”目录中,然后将其保存在可以执行的位置。Django 执行以下操作:
Django 会将上传的文件写入存储在系统临时目录中的临时文件中。在类 Unix 平台上,这意味着您可以期望 Django 生成一个名为 /tmp/ tmpzfp6I6.upload 之类的文件。
我希望能够获得“tmpzfp616.upload”。UploadedFile.name 给了我“”,而 file.name 给了我文件“example.mp3”的正确名称。
对于我正在使用的库,我需要将临时文件的文件路径传递给库,而不是文件本身,因此需要字符串。
有任何想法吗?
提前致谢。
编辑:这是我的代码:
使用“UploadedFile”我得到一个AttributeError“类型对象'UploadedFile'没有属性'temporary_file_path'”。如果我改为使用 file.temporary_file_path (在这里只是在黑暗中扔飞镖)我得到一个 IOError:
[Errno 2] 没有这样的文件或目录:'bound method TemporaryUploadedFile.temporary_file_path of >'
我意识到temporary_file_path 是我正在寻找的解决方案,我只是不知道如何使用它,而且在这个特定情况下,文档和谷歌似乎都没有太大帮助。
django - django - 禁用表单中的字段验证
我需要在 ModelForm 中禁用字段验证。我希望此验证不验证某些字段。当我想返回带有附加字段的更复杂的表单时,我遇到了一些情况(AJAX 渲染表单)。我将 POST 传递给表单并使用保存的 post 字段呈现新的表单。添加了一些新字段,但无法对其进行验证。我将标志传递给表单并识别它何时发生。我应该在一些干净的功能中使用它吗?
python - django 模型中的循环检测
我有一个模型,它与自身有多对多的关系。
我想在模型上创建一个验证,以防止一个组成为它自己的子组,或者它的子组的子组等。目的是防止可能导致循环/无限递归的情况。
我已经尝试在模型 clean() 方法中实现这一点,如下所示。
我还尝试使用事务在模型 save() 方法中实现这一点。
在这两种情况下,我都遇到了无效更改(错误地)保存到数据库的情况,但是如果我尝试对任一实例进行进一步更改,验证会检测到错误,但此时,坏数据已经在数据库中了。
我想知道这是否可能,如果可以,是否可以在模型验证中这样做,所以我不必确保我团队中的每个人都记得从他们将来创建的所有表单中调用这些验证。
事不宜迟,代码:
提前感谢您提供的任何帮助。
[编辑] 仅供参考,如果您无法根据我用来管理事务的机制来判断,我目前正在使用 django 1.2,因为这是用于 RHEL6 的 fedora EPEL 存储库中可用的。如果有可用的解决方案但需要升级到 1.3,我升级没有问题。我也在使用 python 2.6.6,因为这是 RedHat 的 RHEL6 中可用的。我宁愿避免 python 升级,但我高度怀疑它是否相关。
python - Django form.is_valid 不断抛出 KeyError
在我看来,我有这段代码:
形式是ModelForm
,基础模型包含IntegerField
。
当我发布一个空值的表单时,验证消息显示得很好。
当我使用非整数值发布表单时,我得到了这个:
关键错误在 /
'无效的'
令我感到惊讶的是,代码似乎在is_valid()
调用时崩溃,我认为这是安全的(即False
如果出现问题应该返回,而不仅仅是崩溃)。我该如何解决?
堆栈跟踪
django - 如果引发 ValidationError,删除链接会在 Django 管理内联表单集中消失
我有一个表格KeywordInline
。当我使用表单添加新对象时,内联表单集有一个 js-link 可以将新表单添加到表单集中。新添加的表单有一个启用 js 的删除按钮(右侧的 x 标记)。
关键字内联
关键字从集
现在,如果我点击保存按钮并且 ValidationError 上升,那些删除按钮将从一开始就消失。因此,如果我错误地添加了错误的关键字,我将无法删除它。
这是正常行为吗?以及如何使删除链接持续存在?
任何帮助深表感谢。
django - 表单在 Django 中无效
我对 Django 表单有一个奇怪的问题。有这个表单,我可以根据单击的提交按钮完成不同的操作。在开发的某个时刻,一切都运行良好:我的表单验证正常,并且它也完全按照我的意愿进行操作。但是现在(我真的不知道我做错了什么来破坏它),提交操作不起作用。我没有收到任何错误,它什么也没做。
这是我的 forms.py 文件中的代码:
加上一些 save_action() 方法,如果有人问我可以添加。我的views.py中的代码:
我的模板是这样的:
我真的很感激任何帮助,因为我完全坚持
django - 自定义表单验证
我有一个非常简单的表格:
这是如何完成自定义表单验证的吗?我需要评估email
该电子邮件地址当前不存在用户。我还需要评估password
并password_repeat
匹配。我该怎么做呢?
django - 放置 ModelForm 验证的正确位置是什么?
我正在使用 Django ModelForms
,并希望对模型和表单进行验证。我正在使用以下方式渲染表单:
clean_fieldname
在每个字段(如 forms' )和整体(如 forms' )上进行验证的正确位置是什么clean
?
我想尽量减少编写的代码量,而不是两次编写相同的验证器(在模型和表单中)。另外,我希望在适当的表单字段上显示每个字段的验证错误,而不是将所有错误都放在表单顶部(因此并非所有模型都检查干净)。
django - Django - 更改表单的默认错误消息
我正在尝试创建一个带有验证摘要的简单 ajax 表单,因此我不能让错误消息“此字段是必需的”显示 n 次。我需要做的是用一条消息替换这些消息:“需要一些字段。”。
表单验证的文档真的很稀少,我找不到任何关于如何实现这一点的示例。我试图在clean方法上遍历self的errors属性,但显然我无法设置该属性。
有什么想法吗?
django - 在 Django 中,如何确定有关用户输入的业务逻辑是否进入模型或表单?
我总是难以确定是否应该将有关用户输入的业务逻辑放在模型或表单中,尤其是对于简单的业务规则。假设我有一个Product类,并且业务规则是它的价格(Product的一个属性)不能超过 1000 美元。我将验证放在模型级别还是表单级别?你用什么标准来确定这些?