Страница не найдена (404) Метод запроса: GET URL запроса: http://127.0.0.1:8000/index.html/
Я пытаюсь создать простой список дел. Я обнаружил небольшую проблему. При удалении задачи todo я получаю ошибку (это из темы), но задача на самом деле удаляется. Как избавиться от этой ошибки?
urls.py
from django.urls import path, include
from .views import DeleteTodo
from . import views
app_name = 'todoxd_app'
urlpatterns = [
path('', views.index, name='index'),
path('todo/', views.todo, name='todo'),
path('new_todo/', views.new_todo, name='new_todo'),
path('delete/<int:pk>/', DeleteTodo.as_view() ,name='delete_todo'),
]
delete_todo.html
Title {% extends 'todoxd_app/base.html' %} {% block content %} {% csrf_token %} Are you sure you want to delete this task? DELETE TASK {% endblock content %}
views.py
from django.shortcuts import render, redirect
from django.urls import reverse_lazy
from .models import Task
from .forms import TaskForm
from django.views.generic import DeleteView
def index(request):
return render(request, 'todoxd_app/index.html')
def todo(request):
objekt = Task.objects.all()
context = {'objekt': objekt}
return render(request, 'todoxd_app/todo.html', context)
def new_todo(request):
if request.method != 'POST':
form = TaskForm()
else:
form = TaskForm(data=request.POST)
if form.is_valid():
form.save()
return redirect('todoxd_app/new_todo')
context = {'form': form}
return render(request, 'todoxd_app/new_todo.html', context)
class DeleteTodo(DeleteView):
model = Task
template_name = 'todoxd_app/delete_todo.html'
success_url = '/index.html/'
Если вы найдете другую проблему, дайте мне обратную связь, я только начинающий. Спасибо!
Измените эту строку на
success_url = '/index.html/'
to
success_url = 'index' # this is the name of the url path in your urls.py
также вы можете изменить эту строку
return redirect('todoxd_app/new_todo')
to
return redirect('new_todo') # again the same thing.... name of the url path in your urls.py file
Вам необходимо обновить success_url
.
Поскольку домашняя страница вашего приложения определена как :
path('', views.index, name='index')
вы можете редактировать как :
success_url = "/"