【问题标题】:Without using django forms how to validate and save form data不使用 django 表单如何验证和保存表单数据
【发布时间】:2021-06-05 15:41:32
【问题描述】:

假设我有一个包含两个字段的“问题”模型 - 标题和内容

现在考虑问题创建形式。使用 django 表单,我可以将其显示为模板并使用 is_valid 方法进行验证。

但我不想使用 django 内置表单。我想用手写的 html 编写表单并使用 POST 方法将其发送到服务器。

在这种情况下,验证和保存到数据库将如何工作?

I am doing something similar to this guy 但我对现有答案不满意

【问题讨论】:

  • 为什么要为自己做更多的工作?您仍然可以手动渲染字段。请参阅文档中的 Rendering fields manually 部分。您还可以通过更改表单中的字段定义向字段添加一些属性。如果您仍然不喜欢这样做,您可以随时使用这些出色的包来自定义字段的呈现 django-widget-tweaksdjango-crispy-forms
  • @Abdul Aziz Barkat 实际上我想使用降价编辑器而不是 django 表单文本区域来获取用户的输入。回答问题时有点像 stackoverflow 的编辑器。 Django默认是textarea,我的markdown编辑器是第三方JS包。
  • 这只是意味着您需要一个自定义小部件。检查这个问题Django: How to build a custom form widget?
  • 我建议创建表单,如果您不想,不要将其用于 html 演示文稿(尽管我可能会构建一个小部件),并利用表单验证和清理的好处.

标签: python django django-forms


【解决方案1】:

在你看来:

import Model
Param = request.post.get('param') 
Model.objects.create(field=param)

就这样,您已将其保存到模型中。

【讨论】:

  • 这不是一个很好的方法。您正在失去对数据的清理和验证。 OP的问题主要是“在这种情况下验证和保存到数据库将如何工作?”
  • 我看到了你的建议,他们很好。但他说他不想使用 django 表单。
猜你喜欢
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 2018-02-17
  • 2018-05-24
  • 2010-09-22
  • 2022-10-23
  • 2022-01-25
  • 2017-09-18
相关资源
最近更新 更多