0

您好我正在学习使用 Django 进行 Web 开发,现在尝试创建一个页面以允许用户更新对象信息并显示原始属性内容

我了解如何让用户在创建新对象时输入属性信息,即。

        <label>Some field name:</label>
        <input type="text" name="field_name"/>

如果我想显示,我应该使用

<br>Some Fielname: {{ modelname.fieldname }}</br>

但是当涉及到允许用户更新属性信息时,我尝试了一些类似的东西

<label>Some field name:</label>
{{ modelname.fieldname }}
<input type="text" name="field_name"/>

但是无法显示原始字段信息,谁能帮忙解决这个问题,非常感谢

4

2 回答 2

0

Django 有一个非常好的文档:https ://docs.djangoproject.com/en/dev/topics/forms

循环表单的字段

如果您对每个表单字段使用相同的 HTML,则可以通过使用{% for %}循环依次遍历每个字段来减少重复代码:

{% for field in form %} {{ field.errors }} {{ field.label_tag }}: {{ field }} {% endfor %}

在这个循环中,{{ field }}是 BoundField 的一个实例。BoundField 还具有以下属性,它们在您的模板中很有用:

{{ field.label }}

字段的标签,例如电子邮件地址。

{{ field.label_tag }}

该字段的标签包含在适当的 HTML<label>标记中,例如<label for="id_email">Email address</label>

{{ 字段值 }}

字段的值。例如某人@example.com

{{ field.html_name }}

将在输入元素的名称字段中使用的字段名称。这会考虑表单前缀(如果已设置)。

{{ field.help_text }}

与该字段关联的任何帮助文本。

{{ field.errors }}

输出<ul class="errorlist">包含与此字段对应的任何验证错误。您可以使用{% for error in field.errors %}循环自定义错误的表示。在这种情况下,循环中的每个对象都是一个包含错误消息的简单字符串。

{{ field.is_hidden }}

如果表单字段是隐藏字段,则此属性为 True,否则为 False。它作为模板变量并不是特别有用,但在条件测试中可能很有用,例如:

   {% if field.is_hidden %}
       {# Do something special #}
   {% endif %}

{{ field.field }}

此 BoundField 包装的表单类中的 Field 实例。您可以使用它来访问字段属性,例如 {{ char_field.field.max_length }}。

于 2013-05-31T04:54:48.947 回答
0

基本上为了更新对象的值,我们创建了一个 html 表单,它获取属性,然后使用 post 请求提交它。后端的视图函数处理更新工作。在您的情况下,您必须首先制作一个要显示的简单信息表

然后,您可以将每一行设为单独的表格,也可以一次性使整个表格可编辑。当您按下编辑按钮时,您基本上会用您的表单替换表格,然后必须处理提交或取消。

让我知道如果我不清楚..

于 2013-05-31T03:59:30.267 回答