【问题标题】:Django/HTML: Pre-populating "number" input fields with decimal values from a modelDjango/HTML:使用模型中的十进制值预填充“数字”输入字段
【发布时间】:2021-04-14 06:19:27
【问题描述】:

我正在编写代码来编辑用户已经保存在我们数据库中的产品信息。 所以我想用“旧”信息预先填充表单的字段。

一切都很好,除了我无法显示的价格。我知道问题与小数有关,因为“重量”字段(整数)工作正常。

这是我的视图函数中的上下文(工作正常,我可以在控制台上打印价格值):

context["old_title"] = selected_product.title
    context["old_weight"] = selected_product.weight
    context["old_dayprice"] = selected_product.price_day_tvac
    context["old_weekendprice"] = selected_product.price_weekend_tvac
    context["old_weekprice"] = selected_product.price_week_tvac
    context["old_monthprice"] = selected_product.price_month_tvac
    context["old_description"] = selected_product.text

这是 HTML 输入:

<div class="col-md-3 multi-horizontal" data-for="dayprice">
                  <div class="form-group" data-children-count="1">
                    <label
                      class="form-control-label display-7 font-weight-bold"
                      for="website"
                      >€ / day </label
                    >
                    <input
                      type="number"
                      class="form-control"
                      name="dayprice"
                      data-form-field="Dayprice"
                      id="dayprice"
                      placeholder="5"
                      step="any"
                      min="0"
                      value= "{{ old_dayprice }}"
                    />
                    <p class="font-italic font-weight-light"></p>
                  </div>

这是模型的相关字段:

price_day_tvac = models.DecimalField(verbose_name="DAY - Medium season", default=0, max_digits=9, decimal_places=2)
price_week_tvac = models.DecimalField(verbose_name="WEEK - Medium season", default=0, max_digits=9, decimal_places=2)
price_weekend_tvac = models.DecimalField(verbose_name="WEEKEND - Medium season", default=0, max_digits=9, decimal_places=2
price_month_tvac = models.DecimalField(verbose_name="MONTH - Medium season", default=0, max_digits=9, decimal_places=2)

我尝试更改“步骤”(执行不同的值,“任何”,删除它),放置一个硬编码的值(无论是否使用小数,它都有效),将上下文中的数字转换为 fload() ..

我真的不知道如何解决这个问题。任何帮助将不胜感激。

【问题讨论】:

    标签: python html django web


    【解决方案1】:

    您是否尝试过将上下文转换为字符串?由于您已经尝试将其转换为浮点数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-21
      • 1970-01-01
      • 2021-09-06
      • 2020-03-28
      • 2012-12-24
      • 1970-01-01
      相关资源
      最近更新 更多