【问题标题】:Modifiable bullet list in DjangoDjango中可修改的项目符号列表
【发布时间】:2019-01-22 13:55:20
【问题描述】:

我目前在views.py 中生成了一个列表,该列表由模板在所需页面上的项目符号显示:

views.py:

bullet_list = ['Apple starts with A','Banana starts with B','Carrot starts with C']
context = {'bullet_list': bullet_list}
return render(request, 'example.html', context)

example.html:

{% if bullet_list %}
    <ul style="width: 800px;">
    {% for bullet in bullet_list %}
        <li style="list-style-type: circle;">{{bullet}}</li>
    {% endfor %}
    </ul>
{% endif %}

我想要它,以便用户可以添加/删除/调整项目符号并保存调整后的项目符号。理想情况下,当他们返回页面时,他们的新更改就在那里。

我能够让它删除一个项目符号(如下所示),但我不确定如何让它保存它已被删除以及如何将输入输入为另一个项目符号:

example.html:

<li onclick="this.parentNode.removeChild(this);  onmouseover="this.setAttribute('style', 'text-decoration: line-through')" onmouseout="this.setAttribute('style', 'text-decoration: none;')" class="bullet">{{bullet}}</li>

我知道必须有一个输入文本字段才能添加一个新字段和一个保存按钮,但除此之外,我不知道如何实现这一点,也找不到太多关于它的信息。我会为此使用模型吗? JS?只是模板中的views.py/html和css?

【问题讨论】:

  • 作为 Django 和 SO 的新手,评论一下为什么这可能是一个坏问题而不是投反对票会很有帮助。
  • 如果您在一些 &lt;li&gt; 标记中使用表单 input 框,并使用上次保存的占位符填充框怎么办?
  • 虽然我没有投反对票,但我的猜测是有人投了反对票,因为它至少没有开始尝试自己编写代码。我同意投反对票的人应该让 cmets 保持不变。
  • 在这种情况下,可以在每个列表元素旁边放置一个带有“x”的小按钮,单击该按钮时,列表项将被删除。这部分最好使用 javascript。
  • 好的,所以你需要创建一个可以 push() 和 pop() 的数组,当用户满意时,将该数组作为 POST 对象提交给视图收集,那么该视图可以更新bullet_list。但是,如果您在视图中像这样对bullet_list 进行硬编码,而不是使用模型和方法来删除数据库中的对象条目,您将始终在页面刷新时获得相同的bullet_list

标签: javascript python html django django-views


【解决方案1】:

你需要改变:

bullet_list = {'Apple starts with A','Banana starts with B','Carrot starts with C'}

到:

bullet_list = ['Apple starts with A','Banana starts with B','Carrot starts with C']

上下文是一个对象'{}',但你希望你的子弹列表是一个数组/列表'[]'

【讨论】:

  • 谢谢。当我试图复制我的编码示例时,我以为我有一本字典,所以写了 {'apple':'Apple 以 A 开头','banana':'Banana 以 B 开头','carrot':'Carrot 以 C 开头'},但后来我意识到我有一个列表,所以我删除了键,但忘记将大括号更改为我所拥有的。
  • 不,我仍在尝试实现 JS(正如@Matt Cremeens 建议的那样)来做我想做的事情,因为我是 JS 新手
猜你喜欢
  • 2015-09-11
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 2010-09-20
  • 2011-12-02
  • 2018-03-09
  • 2016-03-17
  • 1970-01-01
相关资源
最近更新 更多