Django 如何从url创建变量?
我的URL采用一个变量“payment\u option”,如下所示:Django 如何从url创建变量?,django,django-templates,django-views,Django,Django Templates,Django Views,我的URL采用一个变量“payment\u option”,如下所示: path('payment/',PaymentView.as_view(),name='payment') 我想在PaymentView呈现的模板中显示该变量 问题是“payment_option”在我的模型中不是参数(比如pk或slug),但他的值是从另一个视图处理的表单中获得的 类签出视图(视图): [...] def post(自我,*args,**kwargs): 表单=检查表单(self.request.POST
path('payment/',PaymentView.as_view(),name='payment')
我想在PaymentView呈现的模板中显示该变量
问题是“payment_option”在我的模型中不是参数(比如pk或slug),但他的值是从另一个视图处理的表单中获得的
类签出视图(视图):
[...]
def post(自我,*args,**kwargs):
表单=检查表单(self.request.POST或无)
[...]
payment\u option=form.cleaned\u data.get('payment\u option'))
如果付款选项='S':
返回重定向('core:payment',payment\u option='stripe')
elif付款选项==“P”:
返回重定向('core:payment',payment\u option='paypal')
希望我的解释尽可能清楚,我是Django的新手,因此非常感谢任何提示或建议。您可以从kwargs获得URL变量
class CheckoutView(View):
[...]
def post(self, *args, **kwargs):
payment_option = kwargs.get('payment_option',None)
form = CheckoutForm(self.request.POST or None)
[...]
#payment_option = form.cleaned_data.get('payment_option')
if payment_option == 'S':
return redirect('core:payment', payment_option='stripe')
elif payment_option == 'P':
return redirect('core:payment', payment_option='paypal')
您可以使用
self.kwargs['payment\u option']
获取参数。如果表单需要,您必须手动将其发送到表单