article

Thursday, April 9, 2020

Python Django Forms


Python Django Forms - Django provides a Form class which is used to create HTML forms. It describes a form and how it works and appears.

Forms.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from django import forms
  
COUNTRY_CHOICES =(
    ("1", "Philippines"),
    ("2", "Japan"),
    ("3", "Korea"),
    ("4", "Singapore"),
    ("5", "USA"),
)
CHOICES=[('male','Male'),
         ('female','Female')]
 
class StudentForm(forms.Form): 
    firstname = forms.CharField(label="Enter first name",max_length=50
    lastname  = forms.CharField(label="Enter last name", max_length = 100
    country  = forms.ChoiceField(choices = COUNTRY_CHOICES)
    date  = forms.DateField()
    age = forms.DecimalField()
    email = forms.EmailField()
    photo = forms.FileField()
    gender = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect)
    accept  = forms.BooleanField(label="Accept privacy and terms")
  
    def __str__(self):
        return self.firstname
Views.py
1
2
3
4
5
6
7
8
9
from django.shortcuts import render, redirect
 
# Create your views here.
from django import forms
from myapp.forms import StudentForm 
   
def index(request): 
    student = StudentForm() 
    return render(request,"form.html",{'form':student})  
Forms.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html> 
<html lang="en"
<head> 
    <meta charset="UTF-8"
    <title>Django Forms</title> 
</head> 
<body> 
<p><h2>Django Forms</h2></p>
<form method="POST" class="post-form"
        {% csrf_token %} 
        {{ form.as_p }}
        <button type="submit" class="save btn btn-default">Save</button> 
</form>
</body> 
</html>

urls.py

from django.contrib import admin
from django.urls import path
from myapp import views 

urlpatterns = [
    path('admin/', admin.site.urls),   
    path('index', views.index),   
    #path('', views.index),   
]

Related Post