Sitemap

Django Form withWidget

2 min readOct 5, 2020

--

Simple use of widget in django form with bootstrap html.
Official doc here.
Bootstrap official doc for form here.

Press enter or click to view image in full size
No widget — With Widget

Step 1: Preparation, Create Django Project, Initial Migration
create virtualenv: virtualenv venv
start virtualenv: venv/Scripts/activate
install Django in virtualenv: pip install django==3.0
Create Django: django-admin startproject myproject
Go to myproject folder: cd myproject
Initial Migration: python manage.py migrate

Step 2: Create Django Apps
Create apps: python manage.py startapp myapp
Add myapp to INSTALLED_APPS in myproject/settings.py

Step 3: Set up Templates Folder
Create folder templates in myapp

Add template directory in TEMPLATES parameter in myproject/settings.py

os.path.join(BASE_DIR, 'myapp', 'templates')
Press enter or click to view image in full size

Step 5: Create HTML Files in myapp/templates Folder
Create bootstrap base, create myapp/templates/base.html CDN Bootstrap.

Create custom-form template, myapp/templates/custom-form.html

Step 6: Create Basic Forms.py in myapp Folder
Create forms in myapp, myapp/forms.py

Step 7: Create Function Based View in myapp/views.py
Update myapp/views.py. Add Function Based View method that render html file and using CustomForm.

Step 8: Setup URLs in myapp and myproject Folder
Create myapp/urls.py

Update myproject/urls.py

Step 9: Run Server and Testing
Run Server: python manage.py runserver
Testing: http://127.0.0.1:8000/

No Widget Form

Step 10: Update Forms.py in myapp Folder, add Widget
Update forms in myapp, myapp/forms.py

Refresh http://127.0.0.1:8000/

Form with widget

--

--