Django/Python中NoReverseMatch错误求助:新增数据后无法正常展示
Django新增资产后表格展示出现NoReverseMatch错误求助
我是Django和Python新手,开发资产管理功能时,想实现新增数据后在表格中展示,但出现了NoReverseMatch错误,自己排查不出代码问题,附上相关代码及错误截图,请求帮助解决。
错误截图:
Urls.py
from django.urls import path, re_path from django.conf import settings from . import views from django.conf.urls.static import static urlpatterns =[ path('',views.index, name='index'), re_path('<int:am_ast>', views.view_asset, name='view_asset'), path('add/', views.add_asset, name='add_asset',) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
views.py
from django.http import HttpResponseRedirect from django.shortcuts import render from django.urls import reverse from .models import asset from .forms import assetform # Create your views here. def index(request): return render(request, 'assetmanagement/index.html', { 'assets': asset.objects.all() }) def view_asset(request, am_ast): ast = asset.objects.get(pk=am_ast) return HttpResponseRedirect(reverse('index')) def add_asset(request): if request.method == 'POST': form = assetform(request.POST) if form.is_valid(): new_category = form.cleaned_data['category'] new_am_ast = form.cleaned_data['am_ast'] new_sn = form.cleaned_data['sn'] new_desc = form.cleaned_data['desc'] new_acq_date = form.cleaned_data['acq_date'] new_iss_date = form.cleaned_data['iss_date'] new_emp_name = form.cleaned_data['emp_name'] new_emp_dept = form.cleaned_data['emp_dept'] new_scrp_name = form.cleaned_data['scrp_name'] new_scrp_date = form.cleaned_data['scrp_date'] new_loc = form.cleaned_data['loc'] new_stat = form.cleaned_data['stat'] new_rmks = form.cleaned_data['rmks'] # new_img = form.cleaned_data['img'] new_asset = asset( category= new_category, am_ast = new_am_ast, sn = new_sn, desc = new_desc, acq_date = new_acq_date, iss_date = new_iss_date, emp_name = new_emp_name, emp_dept = new_emp_dept, scrp_name = new_scrp_name, scrp_date = new_scrp_date, loc = new_loc, stat = new_stat, rmks = new_rmks, # img = new_img, ) new_asset.save() return render(request, 'assetmanagement/add.html',{ 'form': assetform(), 'success': True }) else: form = assetform() return render(request, 'assetmanagement/add.html', { 'form': assetform() })
index.html
<button type='button' class="btn btn-success me-1" href="{% url 'view_asset' asset.am_ast %}" data-bs-toggle="modal" data-bs-target="#vwModal{{asset.am_ast}}"> <i class="fa-regular fa-eye fa-lg"></i> </button>
内容的提问来源于stack exchange,提问作者Kelvinpogs
相关产品推荐
相关产品推荐

