django 模板中未呈现选项

c2e8gylq  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(158)

在Django工作我在模型中添加了选项和必要的字段。这些选项在管理站点中填充得很好,但没有呈现在模板中。我已经反复检查了几次,一切似乎都是正确的,所以我不明白为什么选择没有呈现在模板中。这可能与CSS有关吗?我在用物化。
我已经添加了.input-field类,并按照物化文档初始化了select元素。什么都没变。
下面是我的代码:
产品型号:

class Grocery(models.Model):
    """
    Model to create a grocery_list
    """
    CATEGORIES = [("groceries", "Groceries"),
                  ("school", "School"),
                  ("hardware", "Hardware"),
                  ("travel", "Travel"),
                  ("gifts", "Gifts"),
                  ("decoration", "Decoration"),
                  ("lifestyle", "Lifestyle"),
                  ("wishlist", "Wishlist")]

    name = models.CharField(max_length=500, default='My grocery list')
    category = models.CharField(max_length=20, choices=CATEGORIES,
                                default='Shopping')

字符串
形式:

class GroceryForm(forms.ModelForm):
    """
    Form to create a grocery shopping list
    """
    class Meta:
        model = Grocery
        fields = ['name', 'category', 'shop', 'item']


模板:

{% block title %}Create shopping list{% endblock %} 

{% block content %}

<div class="container row">
  <div class="col s10 m8 push-s1 push-m2">
    <h1 class="center-align">Create a grocery shopping list</h1>
    <div class="divider"></div>
    <div class="input-field section">
      <form method="POST">
        {% csrf_token %} {{ form.media }} {{ form.as_p }}
        <button type="submit" class="waves-effect btn">Create list</button>
      </form>
    </div>
  </div>
</div>
{% endblock %}


JS

// sidebar initialization
    document.addEventListener("DOMContentLoaded", function () {
      let sidenav = document.querySelectorAll(".sidenav");
      M.Sidenav.init(sidenav);
    });

    // select initialization
    document.addEventListener("DOMContentLoaded", function () {
      let elems = document.querySelectorAll("select");
      M.FormSelect.init(elems, options);
    });


x1c 0d1x的数据

xv8emn3q

xv8emn3q1#

问题是,您使用了M.FormSelect.init(elems, options),但您没有首先定义options,因此初始化失败。
看看你的JavaScript控制台,你会看到这个错误消息Uncaught ReferenceError: options is not defined
我试着把它取下来,它工作得很好。

相关问题