Python 从基于类的表单UpdateView django收集数据,以便在views.py中使用
我有一个基于我的模型“配置”的表单: models.pyPython 从基于类的表单UpdateView django收集数据,以便在views.py中使用,python,django,django-models,django-forms,django-views,Python,Django,Django Models,Django Forms,Django Views,我有一个基于我的模型“配置”的表单: models.py class configuration(models.Model): Num_ordre = models.CharField(max_length=15) Composant = models.CharField(max_length=15) Designation = models.CharField(max_length=15) Qte_servie = models.IntegerField()
class configuration(models.Model):
Num_ordre = models.CharField(max_length=15)
Composant = models.CharField(max_length=15)
Designation = models.CharField(max_length=15)
Qte_servie = models.IntegerField()
Qte_a_servir = models.IntegerField()
Lot = models.CharField(max_length=15)
Categorie = models.CharField(max_length=15)
Famille = models.CharField(max_length=15)
从这个模型中,我使用UpdateView函数创建了一个表单:
views.py
class ComposantUpdate(UpdateView):
model = configuration
fields = '__all__'
template_name = 'accueil/exploitation/update_composant.html'
success_url = reverse_lazy('cahier', args=('OFTSP1611000853',))`
我的问题是success_url得到了一个我手动输入的参数:OFTSP1611000853,它对应于pk=1的configuration.Num_ordre
我希望将用户写入的数据放在表单的相应字段中,而不是“OFTSP1611000853”
如何收集此值?您应该使用
get\u success\u url
。在内部,获取用户数据,然后返回,如下所示:
def get_success_url(self, *args, **kwargs):
return reverse_lazy('cahier', kwargs={'pk': self.request.data.get('cahier_id')})
感谢的可能副本,它与self.request.POST.get('numero_ordre')一起工作我不知道self.request是一种方法!
self.request
几乎在您视图的任何方法中都可用。它通常与self.request.POST
或self.request.GET
一起使用。o/