Как я могу выполнить задачу со списком приложений? - PullRequest
0 голосов
/ 16 июня 2020

Я только начал изучать django, и мой первый проект - список приложений ToDo (из учебника). Я хочу добавить больше функций в проект, добавив флажок в шаблоне update_task, чтобы пользователь после завершения sh его задача могла быть завершена.

Это update_task. html

<div class="center-column">

<!---h3>Update Task</h3--->

<div class="item-row">
    <h3>Update Task</h3>

    <form method="POST" action="">
        {% csrf_token %}

        {{form.title}}

        <input class="btn btn-primary" type="submit" name="Update Task">
        <a type="button" class="btn btn-secondary" href="{% url 'todo:index' %}">Cancel</a>


        <div class="item-row1">

        <h5 class="text-dark font-weight-bold">Is this task complete?</h5>



            <div class="regular-checkbox">

                {% if task.complete == True %}

                <input type="hidden" class="taskCheckbox" name="done" id="{{ task.id }}" value="on">
                <label for="{{ task.id }}" class="text-dark">Complete<strike>{{ task }}</strike></label>
                {% endif %}


             </div>

        </div>

Это индекс. html

<div class="center-column">

<form method="POST" action="/">
    {% csrf_token %}
    {{form.title}}
    <input class="btn btn-info" type="submit" name="Create task">
</form>

<div class="todo-index">    

{% for task in tasks %}
    <div class="item-row">
        <a class="btn btn-sm btn-info" href="{% url 'todo:update_task' task.id %}">Update</a>
        <a class="btn btn-sm btn-danger" href="{% url 'todo:delete' task.id %}">Delete</a>

        <span>{{task}}</span>


    </div>
{% endfor %}    

Это view.py

def index(request):
tasks = todo.objects.all()

form = todoForm()

if request.method == "POST":
    form = todoForm(request.POST)
    if form.is_valid():
        form.save()
    return redirect('/')

context = {'tasks':tasks, 'form':form}
return render(request, 'todo/index.html', context)

def updateTask(request, pk):
task = todo.objects.get(id=pk)

form = todoForm(instance=task)

if request.method == 'POST':
    form = todoForm(request.POST, instance=task)
    if form.is_valid():
        form.save()
    return redirect('/')    

context = {'form':form}

return render(request, 'todo/update_task.html', context)

def deleteTask(request, pk):
item = todo.objects.get(id=pk)

if request.method == 'POST':
    item.delete()
    return redirect('/')

context = {'item':item}
return render(request, 'todo/delete.html', context)

Когда я выполняю свою задачу на localhost, задача не завершается

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...