#python #html #django #django-forms
#python #HTML #django #django-forms
Вопрос:
Я пытаюсь создать страницу контактов веб-сайта, используя django, где клиент вводит данные, и они отправляются в базу данных, форма отправляется, проект выполняется без ошибок, но данные в БД не добавляются. Вот мой views.py файл
from datetime import datetime
from firstapp.models import Contact
# Create your views here.
def index(request):
return render(request,'index.html',)
def apply(request):
return render(request,'apply.html')
def about(request):
return render(request,'about.html')
def socials(request):
return render(request,'social.html')
def contact(request):
if request.method == "POST":
name = request.POST.get("name")
email = request.POST.get("email")
subject = request.POST.get("subject")
message= request.POST.get("message")
contact=Contact(name=name,email=email,subject=subject,message=message,date=datetime.today())
contact.save
return render(request,'contact.html')
вот мой contact.html
{% block title %}Contact {% endblock title %}
{% block body %}
<h2 align="center">CONTACT US </h2>
<div class="container-md">
<form method="POST" action="/contact/">
{% csrf_token %}
<div class="form-group">
<label for="exampleFormControlInput1">Name</label>
<input type="text" class="form-control" id="exampleFormControlInput1" name="name" placeholder="John Smith">
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Email address</label>
<input type="email" class="form-control" id="exampleFormControlInput1" name="email" placeholder="name@example.com">
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Subject</label>
<input type="text" class="form-control" id="exampleFormControlInput1" name="subject" placeholder="Business
| Suggestions | Query | Complaint | Other">
</div>
<div class="form-group">
<label for="exampleFormControlTextarea1">Message</label>
<textarea class="form-control" name="message" id="exampleFormControlTextarea1" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
{% endblock body%}
И вот мой models.py
from django.db import models
# Create your models here.
class Contact(models.Model):
name = models.CharField(max_length=50)
email =models.EmailField(max_length=254)
subject=models.CharField(max_length=10)
message=models.CharField(max_length=1000)
date=models.DateField()
Комментарии:
1. Я могу предположить, что вы не вызываете метод сохранения вашего экземпляра. Вы забыли ввести скобки после сохранения:
contact.save()
вместоcontact.save
.2. упс @AlexanderYudkin спасибо, я пропустил это
Ответ №1:
Как я писал в комментариях ранее, вы забыли ввести скобки после save: contact.save() вместо contact.save.
Было бы лучше и красивее, если бы вы сделали это следующим образом:
def contact(request):
if request.method == "POST":
Contact.objects.create(**request.POST)
return render(request,'contact.html')
Комментарии:
1. спасибо, cionxesports.herokuapp.com это текущее состояние моего сайта.