【发布时间】:2021-04-21 22:16:23
【问题描述】:
我有一个模型类Client,这个模型对象的 URL 是
<local_server>/object_id/
其中object_id 是模型Client 的对象的id。
现在,当我访问此 URL 时,页面上有一个名为 Add Installment 的按钮,用于添加该特定 Client 的分期付款。当我单击此按钮时,它会将我带到以下 URL:
<local_server>/object_id/add_installment
现在,如果我添加新的分期付款,它可以正常工作。但是Add Installment 页面有两个按钮,Add 和Cancel。我想要如果我点击Cancel 它应该返回到以下 URL:
<local_server>/object_id/
为此,我有以下模板用于添加分期付款,您可以在其中看到Cancel 按钮。
installment_form.html
{% extends "client_management_system/base.html" %}
{% load crispy_forms_tags %}
{% block content %}
<div class="content_section">
<form method="post">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4"> Add New Installment</legend>
{{ form|crispy }}
</fieldset>
<div class="form-group">
<button class="btn btn-outline-success" type="submit">Add Installment</button>
<a class="btn btn-outline-danger" type = "submit" href="{% url 'client_details' object.id %}" >Cancel</a>
</div>
</form>
</div>
{% endblock %}
在Cancel 按钮中,client_details 是 URL <local_server>/object_id 的名称。我在该行中写了object.id,但是当我点击Add Installment 时出现以下错误:
NoReverseMatch at /1/Add-Installment
Reverse for 'client_details' with arguments '('',)' not found. 1 pattern(s) tried: ['(?P<pk>[0-9]+)\\/$']
Request Method: GET
Request URL: http://127.0.0.1:8000/1/Add-Installment
Django Version: 3.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'client_details' with arguments '('',)' not found. 1 pattern(s) tried: ['(?P<pk>[0-9]+)\\/$']
Exception Location: /anaconda3/lib/python3.6/site-packages/django/urls/resolvers.py, line 694, in _reverse_with_prefix
Python Executable: /anaconda3/bin/python3
Python Version: 3.6.10
Python Path:
['/Users/razajaved/Documents/installment_plan',
'/anaconda3/lib/python36.zip',
'/anaconda3/lib/python3.6',
'/anaconda3/lib/python3.6/lib-dynload',
'/anaconda3/lib/python3.6/site-packages',
'/anaconda3/lib/python3.6/site-packages/aeosa']
Server time: Wed, 21 Apr 2021 20:49:32 +0000
有人可以帮我吗?
【问题讨论】:
-
模板中的变量
object.id似乎有问题,它可能不是您期望的“object.id” -
是的,似乎 object.id 引用了由于我点击取消而未创建的分期付款对象的 ID。
标签: python django django-models django-views django-templates