创建对象后将 Id 从 CreateView 传递给另一个函数
Passing Id from CreateView to another function after creating the object
我正在使用 Django 创建一个支付对象 CreateView
然后我想将此对象的 id
传递给另一个视图函数以在另一个模板上进行和显示一些计算。我该怎么做?
views.py:
class CreatePayment(CreateView):
template_name = "inventory/new_payment.html"
success_url = reverse_lazy('inventory:payments_page')
model = Payments
fields = ('payment_number', 'customer','agent', 'amount')
html:
<body>
<form action="{% url 'inventory:new_payment'%}" method="post">
{% csrf_token %}
{{form}}
<button type="submit", value="Add">Add</button>
</form>
</body>
网址:
url(r'newpayment/$', CreatePayment.as_view(), name='new_payment')
将参数添加到您的其他视图并 url 并使用 get_success_url
:
def get_success_url(self):
success_url = reverse_lazy('inventory:payments_page', {'id': self.object.pk})
return success_url
我是通过重写 CreateView
中的 get_success_url
来实现的,如下所示:
def get_success_url(self):
return reverse('inventory:transaction', args=(self.object.id,))
我正在使用 Django 创建一个支付对象 CreateView
然后我想将此对象的 id
传递给另一个视图函数以在另一个模板上进行和显示一些计算。我该怎么做?
views.py:
class CreatePayment(CreateView):
template_name = "inventory/new_payment.html"
success_url = reverse_lazy('inventory:payments_page')
model = Payments
fields = ('payment_number', 'customer','agent', 'amount')
html:
<body>
<form action="{% url 'inventory:new_payment'%}" method="post">
{% csrf_token %}
{{form}}
<button type="submit", value="Add">Add</button>
</form>
</body>
网址:
url(r'newpayment/$', CreatePayment.as_view(), name='new_payment')
将参数添加到您的其他视图并 url 并使用 get_success_url
:
def get_success_url(self):
success_url = reverse_lazy('inventory:payments_page', {'id': self.object.pk})
return success_url
我是通过重写 CreateView
中的 get_success_url
来实现的,如下所示:
def get_success_url(self):
return reverse('inventory:transaction', args=(self.object.id,))