gpt4 book ai didi

django - 如何从 Django 小部件中删除 HTML5 属性

转载 作者:行者123 更新时间:2023-12-02 15:01:39 25 4
gpt4 key购买 nike

Django Widgets 根据模型 max_length 设置 HTML5 maxlength 属性。

class Publication(models.Model):
name = models.CharField(max_length=255)

<input maxlength="255" required="" id="id_name" type="text">

我想删除这个属性,因为它会干扰我自己的验证,这更复杂。

我知道 required 属性可以设置为 false,但我不知道其他 html5 属性。

我想将它们以多种形式应用到不同的领域。

修改表单 init 是可以的,但是可扩展性不是很好。

基类和继承是一种选择,但我不想应用于所有领域。

我正在寻找类似 required=false 的东西,以应用于多个字段。

最佳答案

这是来自 Book 模型的 Form 示例。我引入了一个名为 title 的字段。在 init 方法中,我弹出该字段的 maxlength 属性。当您进入 HTML 时,没有 maxlength 属性。

from django import forms
from .models import Book

class BookForm(forms.ModelForm):
class Meta:
model = Book
fields = ('title',)

def __init__(self, *args, **kwargs):
super(BookForm, self).__init__(*args, **kwargs)
self.fields['title'].widget.attrs.pop('maxlength', None)

关于django - 如何从 Django 小部件中删除 HTML5 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49048414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com