每个申请人都应从HTML页面输入其数据,并且该数据必须插入数据库。我认为我所做的一切都正确,但是数据未显示在数据库中。这是我的代码。
models.py:
class Applicant(models.Model):
name = models.CharField(max_length=20)
surname = models.CharField(max_length=30)
phone = models.CharField(max_length=15)
email = models.EmailField(max_length=40)
motivation_letter = models.TextField(max_length=200)
def __str__(self):
return self.name
views.py:
def apply(request):
if request.method == "POST":
if request.POST.get('motivation_letter'):
applicant = Applicant()
applicant.name = request.POST.get('name')
applicant.surname = request.POST.get('surname')
applicant.phone = request.POST.get('phone')
applicant.email = request.POST.get('email')
applicant.motivation_letter = request.POST.get('motivation_letter')
applicant.save()
return render(request, 'index.html')
HTML:
<form method="POST">
{% csrf_token %}
<label>Ad</label><br />
<input type="text" name="name"><br />
<label>Soyad</label><br />
<input type="text" name="surname"><br />
<label>Telefon nömrəsi</label><br />
<input type="number" name="phone"><br />
<label>Elektron poçt</label><br />
<input type="email" name="email"><br />
<label>Something else</label><br />
<textarea class="smth-else-textarea" cols="30" rows="10" name="motivation_letter"></textarea><br />
<input type="submit" value="Göndər" class="apply-button"/>
</form>
您应该使用MODEL_NAME .objects.create(XX =东西..)来插入数据。
def apply(request):
if request.method == "POST":
if request.POST.get('motivation_letter'):
Applicant.objects.create(
name = request.POST.get('name'),
surname = request.POST.get('surname'),
phone = request.POST.get('phone'),
email = request.POST.get('email'),
motivation_letter = request.POST.get('motivation_letter'))
return render(request, 'index.html')
html :(如果您不工作,请尝试:app_name:apply)
<form action="{% url "apply" %}" method='POST' > {% csrf_token %}
<label>Ad</label><br />
<input type="text" name="name"><br />
<label>Soyad</label><br />
<input type="text" name="surname"><br />
<label>Telefon nömrəsi</label><br />
<input type="number" name="phone"><br />
<label>Elektron poçt</label><br />
<input type="email" name="email"><br />
<label>Something else</label><br />
<textarea class="smth-else-textarea" cols="30" rows="10"
name="motivation_letter"></textarea><br />
<input type="submit" value="Göndər" class="apply-button"/>
</form>
urls.py :(不:导入您的视图)
path('apply/', views.apply , name='apply'),
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句