how to take input from form and save to database django
step1: complete your HTML and CSS form
eg:<form class="Form1" method="post" action="/"> {% csrf_token %}<label for="name"></label><br><input type="text" id="name" name="name" placeholder="Name"><label for="email"></label><br><input type="text" id="email" name="email" placeholder="email"><label for="subject"></label><br><input type="text" id="subject" name="subject" placeholder="subject"><label for="message"></label><br><input type="text" id="messaeg" name="message" placeholder="message"><button type="submit"><i class="fa fa-paper-plane"></i> SEND MESSAGE</button></form>
step2:create models for your form in models.py these will represent your data to database
eg: class Message(models.Model):name = models.CharField(max_length=30)email = models.EmailField(max_length=30)subject=models.CharField(max_length=50)message=models.CharField(max_length=500)def __str__(self):return self.name
step 3: register your model in admin.py
eg: from django.contrib import admin
from .models import Message
# Register your models here.
admin.site.register(Message)
step4: create makemigrations in terminal
eg: python manage.py makemigrations
step5: migrate
rg: python manage.py migrate
step6: create superuser if already created leave it
eg: python manage.py createsuperuser
step7: go to views .py and fetch the data from form and create variables for each name and load the variables data
recently created into models by importing created model and save
eg:from . models import Message
def index(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')
message=Message(name=name,email=email,subject=subject,message=message)
message.save() return render(request,'home.html')
Comments
Post a Comment