用于待办事项的 Django 检查按钮
Django checkbutton for todo
我是 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>
url:
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
变量。 more info here
你知道视图中的代码是运行吗?
我是 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>
url:
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
变量。 more info here
你知道视图中的代码是运行吗?