sodmzs:
Voici mon fichier model.py
class TestData(models.Model):
test_date = models.DateField(blank=True)
test_name = models.CharField(max_length=255)
result = models.IntegerField()
Et voici mon fichier forms.py
class TestDataForm(forms.ModelForm):
class Meta:
model = TestData
fields = ['test_date','test_name','result']
Et voici mon fichier views.py
def photo_single(request):
if request.POST:
form = TestDataForm(request.POST)
if form.is_valid():
if form.save():
return redirect('/', messages.success(request, 'Order was successfully created.', 'alert-success'))
else:
return redirect('/', messages.error(request, 'Data is not saved', 'alert-danger'))
else:
return redirect('/', messages.error(request, 'Form is not valid', 'alert-danger'))
else:
form = TestDataForm()
return render(request, 'photo_single.html', {'form':form})
et voici mon fichier photo_single.html
<form>{% csrf_token %}
<div class="form-row">
<div class="form-group col-md-6">
<label for="date">Date</label>
{{ form.test_date | add_class:'form-control' | attr:'type:date' }}
</div>
<div class="form-group col-md-6">
<label for="test_name">Test Name</label>
{{ form.test_name | add_class:'form-control' }}
</div>
<div class="form-group col-md-6">
<label for="result">Result</label>
{{ form.result | add_class:'form-control' }}
</div>
</div>
<button type="submit" class="btn btn-primary" name="data">Submit</button>
</form>
Quand je vous soumets la valeur de la forme à databasw, je reçois cette URL dans
http://127.0.0.1:8000/photo/?test_date=2020-03-13&test_name=SUGAR&result=23&data=
et les données ne sont pas enregistrer dans la base de données. aider quelqu'un peut me pourquoi? Je suis foiré dans ce domaine. Suis-je raté quelque chose? Merci
c.grey:
essaye ça
def photo_single(request):
if request.POST:
form = TestDataForm(request.POST)
if form.is_valid():
base_form = form.save(commit=False)
base_form.save()
if form.save():
return redirect('/', messages.success(request, 'Order was successfully created.', 'alert-success'))
else:
return redirect('/', messages.error(request, 'Data is not saved', 'alert-danger'))
else:
return redirect('/', messages.error(request, 'Form is not valid', 'alert-danger'))
else:
form = TestDataForm()
return render(request, 'photo_single.html', {'form':form})
dans le modèle:
<form method="post" action="/your-url/">
{% csrf_token %}
---------
reportez - vous cet espoir qu'il aide