Django待办事项复选按钮

马克西姆·祖鲁

我对Django很陌生,所以请使其成为新手友好的:D。它关于一个简单的待办事项清单。我希望每个项目都有三个用于删除,编辑或在这种情况下检查的按钮。在下面的代码中,我想创建一个将布尔值设置为True的复选框。但是理解做任何事情的代码都只是在刷新一面。命令中没有错误消息或其他信息。你们能发现错误吗?

很高兴为您提供帮助。

HTML:

                        <form method="POST">
                            {% csrf_token %}
                            <button id="done" type="POST" action="{% url 'complete' do.id%}">
                                <i class="fas fa-check"></i></button>
                            <button id="edit"><i class="fas fa-edit"></i></button>
                            <button id="delete" action="#" method="POST"><i class="fas fa-trash"></i></button>
                            <a href="/todo/{{do.id}}">{{do.task_title}}</a>
                        </form>
                    </li>

网址:

    urlpatterns = [
        # match list,
        url(r'^$', views.index, name='index'),
        url(r'^add/$', views.addTodo, name='add'),

        url(r'^(?P<pk>[0-9]+)/complete/$', views.completeTodo, name='complete'),
..
]

视图:

def completeTodo(request, todo_id):

    if request.method =='POST':
        print('alive')
        todo = Task.objects.get(pk=todo_id)
        todo.complete = True
        todo.save()

    return redirect('index')

模型:

class Task(models.Model):
    task_title = models.CharField(max_length=50)
    task_explain = models.CharField(max_length=1500)
    complete = models.BooleanField(default=False)

    def get_absolute_url(self):
        return reverse('todo:detail', kwargs={'pk':self.pk})

    def __str__(self):
        return self.task_title
临界石

代码说完成视图后重定向到索引,在这种情况下,它看起来像是刷新。但是,您没有显示其完成状态的任何指示,因此没有任何变化。您可以在{{do.complete}}某处添加内容,也可以使用管理界面查看是否complete已设置变量。在此处了解更多信息您是否知道视图中的代码是否正在运行?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章