django - django 中的 ModelForm,如何获取 maxlength 属性

标签 django

在上下文中,我有形式。当我放 {{form}}在 HTML 页面中,一切正常。
像这样的东西:

<input id="id_sifraDrzave" maxlength="1024" name="sifraDrzave" type="text" />

如何获得字段的最大长度?

最佳答案

您可以使用 form.fields.username.max_length 访问它在模板中。

示例(交互式 shell ):

>>> from django.forms.models import modelform_factory
>>> from django.contrib.auth.models import User
>>> UserForm = modelform_factory(User)
>>> form = UserForm({})
>>> print form['username']
<input id="id_username" maxlength="30" name="username" type="text" />
>>> print form.fields['username'].max_length
30

>>> from django.template import Template, Context
>>> print Template('{{ form.fields.username.max_length }}').render(Context({'form': form}))
30

或使用 <specific_column>.field.max_length :
>>> print Template(
... '{% for column in form %}{{ column.field.max_length }} {% endfor %}'
... ).render(Context({'form': form}))
128     30 30 30 75

关于django - django 中的 ModelForm,如何获取 maxlength 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551341/

相关文章:

django - 摘要、基本和承载身份验证

python - 实时 Django 应用程序的套接字

django - 如何从Django_tables2行获取信息?

微服务架构中的Django admin + 认证系统

Django - 如何为注册站点用户和非站点用户提供模型?

python - 关于 pythonanywhere : trouble running the django-admin shell 的 Django 教程

python - 如何在 Django 中建模点对点事务?

javascript - Django 中不安全的用户输入文本有哪些危险?

django - django.test.TestCase vs unittest vs django.utils.unittest.TestCase 之间的区别

django - 在 Github Actions 中为 Django 设置 postgres