Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

NoReverseMatch

Error during template rendering

In template C:\Users\55559\PycharmProject\linha-de-fogo-backend\templates\home.html, error at line 34

Reverse for 'deleta' not found. 'deleta' is not a valid view function or pattern name.
24                    {% for manute in manutenc %}
25                        <div class="main-div">
26                            {% if manute.imagem == ''%}
27                                <img src="{% static 'img/bandera-rio.jpg' %}" alt="" class="img-div">
28                            {% else %}
29                                <img src="{{ manute.imagem.url }}" alt="" class="img-div">
30                            {% endif %}
31                            <h1 class="h1-div">manutençao feita:</br>{{manute.nome}}</h1>
32                            <p>{{ manute.tipo }}</p>
33                            <div class="div-div">
34                                <a href="{% url 'deleta' manut.id %}" type="button" class="botao-d">deletar</a>
35                                <input type="submit" value="editar" class="botao">
36                            </div>
37                        </div>
38                    {% endfor %}
39                {% endif %}
40            </main>
41        </body>
42    </html>
4 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade não consigo deletar um obj

aqui esta a views

from django.shortcuts import render, redirect, get_object_or_404
from .models import manut

# Create your views here.
def index(request):
    return render(request,'index.html')

def home(request):
    manutenc = manut.objects.all()
    dados = {
        'manutenc': manutenc
    }
    return render(request,'home.html',dados)

def manutencao(request):
    return render(request,'manutencao.html')

def deleta(request,manut_id):
    manuten = get_object_or_404(manut,id=manut_id)
    manuten.delete()
    return redirect('home.html')

def uma_manut(request,manut_id):
    manuten = get_object_or_404(manut,id=manut_id)
    dados = {
        'manuten': manuten
    }
    return render(request,'uma-manut.html',dados)

aqui esta o tamplate

{% load static %}
<!DOCTYPE html>
<html>
    <head>
        {% include 'partial/links.html'%}
        <link rel="stylesheet" href="{% static 'css/home.css'%}">
        <title>home</title>
    </head>
    <body>
        <header class="header">
            <ul>
                <li class="li1"><a href="{% url 'manute'%}">manutençao</a></li>
                <li><a href="{% url 'inicial'%}">home</a>
                    <ul>
                        <li><a href="">criar mnt</a></li>
                        <li><a href="{% url 'pagina'%}">index</a></li>
                    </ul>
                </li>
            </ul>
        </header>

        <main class="main">
            {% if manutenc %}
                {% for manute in manutenc %}
                    <div class="main-div">
                        {% if manute.imagem == ''%}
                            <img src="{% static 'img/bandera-rio.jpg' %}" alt="" class="img-div">
                        {% else %}
                            <img src="{{ manute.imagem.url }}" alt="" class="img-div">
                        {% endif %}
                        <h1 class="h1-div">manutençao feita:</br>{{manute.nome}}</h1>
                        <p>{{ manute.tipo }}</p>
                        <div class="div-div">
                            <a href="{% url 'deleta' manut.id %}" type="button" class="botao-d">deletar</a>
                            <input type="submit" value="editar" class="botao">
                        </div>
                    </div>
                {% endfor %}
            {% endif %}
        </main>
    </body>
</html>
solução!

consegui resolver mudando a url deleta que é o nome da propria função, para deletar que o nome q eu dei pra url. se alguem souber o pq o nome da função n estava dando me explique porfavor

path('del/<int:manut_id',deleta,name='deletar'),

def deleta(request,manut_id):
    manuten = get_object_or_404(manut,id=manut_id)
    manuten.delete()
    return redirect('home.html')

<a href="{% url 'deletar' manut.id %}" type="button" class="botao-d">deletar</a>

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software