【发布时间】:2019-02-26 00:01:13
【问题描述】:
我正在就我知道的一个非常基本的问题寻求帮助,但我无法修复它,我不知道我哪里做错了(像往常一样)
所以基本上我已经创建了一个模型表单“formulaire_equipement”
class formulaire_equipement(forms.ModelForm):
class Meta:
model = Formulaire
fields = '__all__'
基于“公式”模型:
class Formulaire(models.Model) :
nom_equipement = models.CharField(max_length=200)
constructeur = models.CharField(max_length=100)
choix_categorie = [
('Encodeur', 'Encodeur'),
('Modulateur', 'Modulateur'),
('Packager', 'Packager'),
('Playout', 'Playout')
]
categorie = models.CharField(max_length=100, choices=choix_categorie)
reference = models.CharField(max_length=100, null=True)
IP = models.CharField(max_length=15)
identifiant = models.CharField(max_length=50, null=True)
mot_de_passe = models.CharField(max_length=100, null=True)
从那里,我可以提交表单,并且我已经创建了一个视图,我可以在其中访问和显示用户提交的数据。
<h3> Nom : {{Formulaire.nom_equipement}} </br>
Constructeur : {{Formulaire.constructeur}} </br>
Catégorie : {{Formulaire.categorie}} </br>
Référence : {{Formulaire.reference}} </br>
IP management : <a href="http://{{Formulaire.IP}}/"> {{Formulaire.IP}} </a> </br>
Identifiant de connexion : {{Formulaire.identifiant}} </br>
Mot de passe : {{Formulaire.mot_de_passe}} </br> </h3>
<a class="btn" method="POST" href="{% url 'modifier_equipement' pk=Formulaire.pk %}"> modifier équipement </a>
<a class="btn" href="{% url 'supprimer_equipement' pk=Formulaire.pk %}"> supprimer équipement </a>
</div>
当我尝试通过 url 编辑之前创建的表单时出现问题
path('fiche/<int:pk>/edit/', views.edit_formulaire, name='modifier_equipement')
参考视图“edit_formulaire”:
def edit_formulaire(request, pk):
this_form = Formulaire.objects.get(id=pk)
form = formulaire_equipement(request.POST or None, instance=this_form)
if form.is_valid():
form.save()
context = {
'Formulaire':form
}
return render(request, 'adress_hub/edit_formulaire.html', context)
然后从那里我得到“视图 search.views.edit_formulaire 没有返回 HttpResponse 对象。它返回了 None 。”错误,我知道这是因为表单由于某些原因无效,所以“if”循环没有得到验证,然后我掉到视图的末尾,它不返回 HttpResponse 对象。
但我不知道为什么表格无效,或者我做错了什么......
【问题讨论】:
标签: django forms model django-forms django-views