反转'company_delete','(,)'找不到参数。尝试了 1 种模式:['公司/(?P\<pk>\d+)/delete/$']



我得到的是:

django.urls.exceptions.NoReverseMatch:找不到参数为"(",("的"company_delete"的反向。尝试了1种模式:['公司/(?P\d+(/delete/$']

并且在我的控制台中显示:

-加载资源失败:服务器响应状态为500(内部服务器错误(

我的views.py

def company_delete(request,pk):
data = dict()
company = get_object_or_404(Company,pk=pk)
if request.method == "POST":
company.delete()
data['form_is_valid'] = True
companies = Company.objects.all()
data['company_list'] = render_to_string('company_list_2.html',{'companies': companies})
else:
context = {'company': company}
data['html_form'] = render_to_string('company_delete.html',context,request=request)
return JsonResponse(data)

我的urls.py

urlpatterns = [
url(r'^company/$', views.company_list, name='company_list'),
url(r'^company/create/$', views.company_create, name='company_create'),
url(r'^company/(?P<pk>d+)/update/$', views.company_update, name='company_update'),
url(r'^company/(?P<pk>d+)/delete/$', views.company_delete, name='company_delete'),
]

我的company_list_2.html

{% for c in companies %}
<tr>
<td>{{ c.name }}</td>
<td>{{ c.description }}</td>
<td>{{ c.website }}</td>
<td>{{ c.address }}</td>
<td>{{ c.phone }}</td>
<td>{{ c.email }}</td>
<td>{{ c.contact }}</td>
<td>
<button class="btn btn-warning show-form-update" data-url="{% url 'company_update' c.pk %}">
<span class="glyphicon glyphicon-pencil"></span>
Edit
</button>
</td>
<td>
<button class="btn btn-danger show-form-delete" data-url="{% url 'company_delete' c.pk %}">
<span class="glyphicon glyphicon-trash"></span>
Delete
</button>
</td>
</tr>
{% empty %}
<tr>
<td colspan="7" class="text-center bg-warning">No Company</td>
</tr>
{% endfor %}

我的company_delete.html

{% load crispy_forms_tags %}
<form method="post" data-url="{% url 'company_delete' c.pk %}" class="delete-form">
{% csrf_token %}
<div class="modal-header">
<h3 class="modal-title" >Delete Company</h3>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<p class="lead"> Are you sure you want to delete this company <strong>{{ c.name }}</strong></p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-danger">Delete Company</button>
</div>
</form>

比如说@Ivan Starostin只需将company.pk实例c.pk放入您的url表单中

<form method="post" data-url="{% url 'company_delete' company.pk %}" class="delete-form">
...
</form> 

相关内容

最新更新