我得到了错误。Django中的一个应用程序中位于/delete_mat/11/的NoReverseMatch

我得到了错误。Django中的一个应用程序中位于/delete_mat/11/的NoReverseMatch,django,view,django-urls,Django,View,Django Urls,大家好。我在现有的Django项目中创建了第二个应用程序。应用程序中的url.py路由工作正常,但视图edit_-mat、update_-mat和delete_-mat(尽管执行了该操作但仍访问数据库)不会重新加载索引页。我无法访问数据库的视图工作得很好。 不知道还能做什么。你能帮忙吗 错误: view.py应用程序 URL.py应用程序 来自django.contrib导入管理 从django.url导入路径 从…起导入视图 应用程序名称=‘材料’ URL模式=[ #确定路径('materia

大家好。我在现有的Django项目中创建了第二个应用程序。应用程序中的url.py路由工作正常,但视图edit_-mat、update_-mat和delete_-mat(尽管执行了该操作但仍访问数据库)不会重新加载索引页。我无法访问数据库的视图工作得很好。 不知道还能做什么。你能帮忙吗

错误:

view.py应用程序

URL.py应用程序

来自django.contrib导入管理
从django.url导入路径
从…起导入视图
应用程序名称=‘材料’
URL模式=[
#确定路径('material/',views.material,name='material'),
#确定路径('form\u mat/',views.form\u mat,name='form\u mat'),
路径('create_-mat/',views.create_-mat,name='create_-mat'),
路径('view\u mat/',views.view\u mat,name='view\u mat'),
路径('edit_-mat/',views.edit_-mat,name='edit_-mat'),
路径('update_-mat/',views.update_-mat,name='update_-mat'),
路径('delete_-mat/',views.delete_-mat,name='delete_-mat'),
]
视图可以工作,但不会重定向到视图名称并返回错误: NoReverseMatch at/edit_mat/11/ NoReverseMatch at/update_mat/11/ NoReverseMatch at/delete_mat/11/

URL.py项目

from django.urls import include, path
from imagem.views import home, form, create, view, projeto, edit, update, delete
from materiais.views import material, form_mat, create_mat, view_mat, edit_mat, update_mat, delete_mat


urlpatterns = [

 ... urls project... ok
    

    #App Materiais

    path('', include('materiais.urls', namespace='material')),
    path('form_mat/', include('materiais.urls', namespace='form_mat')),
    path('create_mat/', include('materiais.urls', namespace='create_mat')),
    path('view_mat/<int:pk>/', include('materiais.urls', namespace='view_mat')),
    path('edit_mat/<int:pk>/', include('materiais.urls', namespace='edit_mat')),
    path('update_mat/<int:pk>/', include('materiais.urls', namespace='update_mat')),
    path('delete_mat/<int:pk>/', include('materiais.urls', namespace='delete_mat')),

]
从django.url导入包括,路径
从imagem.views导入主视图、表单、创建、查看、项目、编辑、更新、删除
从materialis.views导入材料、形成材料、创建材料、查看材料、编辑材料、更新材料、删除材料
URL模式=[
…URL项目…好的
#应用材料
路径(“”,include('materialis.url',namespace='material')),
路径('form_-mat/',include('materialis.url',namespace='form_-mat')),
路径('create_-mat/',include('materialis.url',namespace='create_-mat')),
路径('view\u mat/',include('materialis.url',namespace='view\u mat')),
路径('edit_-mat/',include('materialis.url',namespace='edit_-mat')),
路径('update\u mat/',include('materialis.url',namespace='update\u mat')),
路径('delete_-mat/',include('materialis.url',namespace='delete_-mat')),
]
form.html


{db%中的dbs的%s}
{{dbs.id}
{{dbs.spec_name}
{{dbs.codigo}}
{{dbs.spect_material}}
{{dbs.diametro1}}
{{dbs.diametro2}}
{{dbs.peso}
{%endfor%}

您需要在视图中使用
重定向('material:material')
。我相信我会帮你的。让我知道它是否有效。是的,它有效。这件物品申报错误。非常感谢。当然可以是的,成功了。这件物品申报错误。非常感谢。当然可以
from django.shortcuts import render, redirect
from materiais.models import EspecComponentes, Componente, Codigo, EspecMaterial
from materiais.forms import EspecComponentesForm



# Create your views here.

...

def create_mat(request):
    form_mat = EspecComponentesForm(request.POST or None)
    if form_mat.is_valid():
        form_mat.save()
        return redirect('material')

def view_mat(request, pk):
    data = {}
    data['db'] = EspecComponentes.objects.get(pk=pk)
    return render(request, 'materiais/view.html', data)

def edit_mat(request, pk):
    data = {}
    data['db'] = EspecComponentes.objects.get(pk=pk)
    data['form_mat'] = EspecComponentesForm(instance=data['db'])
    return render(request, 'materiais/form.html', data)

def update_mat(request, pk):
    data = {}
    data['db'] = EspecComponentes.objects.get(pk=pk)
    form_mat = EspecComponentesForm(request.POST or None, instance=data['db'])
    if form_mat.is_valid():
        form_mat.save()
        return redirect('material')

def delete_mat(request, pk):
    db = EspecComponentes.objects.get(pk=pk)
    db.delete()
    return redirect('material')
from django.contrib import admin
from django.urls import path
from . import views


app_name = 'materiais'

urlpatterns = [

  #ok  path('material/', views.material, name='material'),
  #ok path('form_mat/', views.form_mat, name='form_mat'), 
    path('create_mat/', views.create_mat, name='create_mat'),
    path('view_mat/<int:pk>/', views.view_mat, name='view_mat'),
    path('edit_mat/<int:pk>/', views.edit_mat, name='edit_mat'),
    path('update_mat/<int:pk>/', views.update_mat, name='update_mat'),
    path('delete_mat/<int:pk>/', views.delete_mat, name='delete_mat'),

]
from django.urls import include, path
from imagem.views import home, form, create, view, projeto, edit, update, delete
from materiais.views import material, form_mat, create_mat, view_mat, edit_mat, update_mat, delete_mat


urlpatterns = [

 ... urls project... ok
    

    #App Materiais

    path('', include('materiais.urls', namespace='material')),
    path('form_mat/', include('materiais.urls', namespace='form_mat')),
    path('create_mat/', include('materiais.urls', namespace='create_mat')),
    path('view_mat/<int:pk>/', include('materiais.urls', namespace='view_mat')),
    path('edit_mat/<int:pk>/', include('materiais.urls', namespace='edit_mat')),
    path('update_mat/<int:pk>/', include('materiais.urls', namespace='update_mat')),
    path('delete_mat/<int:pk>/', include('materiais.urls', namespace='delete_mat')),

]

          <tbody>

          {% for dbs in db %}

            <td>
               <th>{{dbs.id}}</th>
                <td>{{dbs.espec_name}}</td>
                <td>{{dbs.codigo}}</td>
                <td>{{dbs.espec_material}}</td>
                <td>{{dbs.diametro1}}</td>
                <td>{{dbs.diametro2}}</td>
                <td>{{dbs.peso}}</td>
                <td>
                      <a href="/view_mat/{{dbs.id}}/" class="btn btn-dark">Visualizar</a>
                      <a href="/edit_mat/{{dbs.id}}/" class="btn btn-primary">Editar</a>
                      <a href="/delete_mat/{{dbs.id}}/" class="btn btn-danger btnDel">Deletar</a>
                </td>
            </tr>
            {% endfor %}

          </tbody>