【发布时间】:2016-09-18 01:29:43
【问题描述】:
在 DRF 中使用 HTML 表单渲染器时,任何人都可以想出一个好方法来自动在 DRF 中生成一些“必填”字段的指示,不管是不择手段吗?我的意思是在我提交表单之前,在需要的字段上的一些指示 - 可浏览的 API 它将以错误的形式正确显示,但仅在提交后。
我是否将此处所示的技术用于具有字段级 HTML 表单(而不仅仅是原始/JSON 表单)的可浏览 API:
django-rest-framework - autogenerate form in browsable API?
或者我正在使用 TemplateHTMLRenderer 调用 render_form ,如此处文档中所述:
http://www.django-rest-framework.org/topics/html-and-forms/#rendering-forms
我没有看到一种简单的方法来使我的必填字段按要求呈现。所以说我们喜欢
#models.py
class Foobar(model.Models):
foo = models.CharField(max_length=100, blank=True, default='')
bar = models.CharField(max_length=100, blank=False)
我能想到的最好的方法是为每种类型的字段“required-text-field.html”、“required-checkbox.html”等制作自己的模板/sn-p,并在序列化程序中使用样式声明如图所示:
http://www.django-rest-framework.org/topics/html-and-forms/#field-styles
假设我理解这一点,还没有玩过它。
但我希望看到一种基于模型定义,根据需要自动生成字段的方法(即使只是一个星号,或应用一个 CSS 类)(甚至只是一个星号,或应用一个 CSS 类)。
Rambling:这里的目标是避免编写我自己的表单,让 DRF 在自定义视图中为我生成表单。与使用将它们绑定到 AJAX 来编写我自己的表单相反,我认为模板、render_form 和一些格式检查就足够了。但现在我认为 DRF 是为后端和开发人员构建的,而不是前端,如果最终用户可见,也许我应该计划编写自己的表单?此外,我可以拥有 CSS 文件并根据名称进行选择,调用 render_form 然后应用手工旋转样式,这比 HTML + CSS 的工作量要少。我应该查看 Django(只是 Django,而不是 DRF)表单并重新使用序列化程序作为验证吗?...
【问题讨论】:
标签: css django forms django-rest-framework required