Sitemap

Django Taggit: Model Tag, Admin and Filtering

3 min readJun 24, 2022

Django Taggit, model tag, registered in admin, and filtering, with bootstrap.
Official docs django-taggit.

Press enter or click to view image in full size
filter by tag

Project structure. templates folder, base.html, articles.html, myapp/urls.py files are manually created, other files are auto-generated.

project structure

Step 1: Preparation, Create Django Project
create virtualenv: virtualenv venv
start virtualenv: venv/Scripts/activate
install Django and django-taggit in virtualenv:
pip install django==3.2 django-taggit
Create Django: django-admin startproject myproject
Go to myproject folder: cd myproject

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

INSTALLED_APPS in myproject/settings.py

Step 3: Add Model with Tags

myapp/models.py

Step 4: Register Model in Django Admin

myapp/admin.py

Step 5: Makemigrations and Migrate
Make migrations: python manage.py makemigrations
Migrate: python manage.py migrate

Step 6: Create Superuser
Create superuser: python manage.py createsuperuser
Type username, email password and retype password

Step 7: Run Server and Add Some Data
Run Server: python manage.py runserver
Access: http://127.0.0.1:8000/admin
Login with superuser and add some data

Press enter or click to view image in full size
Press enter or click to view image in full size
article list in admin

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

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

Path(BASE_DIR, 'myapp', 'templates'),
Press enter or click to view image in full size

Step 9: Create HTML Files in myapp/templates Folder

Create bootstrap base template, template/base.html

myapp/templates/base.html

Create template/articles.html

myapp/templates/articles.html

Step 10: Create View in myapp/views.py

myapp/views.py

Step 11: Setup URLs in myapp and myproject Folder

Create myapp/urls.py

myapp/urls.py

Update myproject/urls.py

myproject/urls.py

Step 12: Run Server and Test
Run Server: python manage.py runserver
Access:
http://127.0.0.1:8000/articles

Press enter or click to view image in full size

--

--

No responses yet