How to use Datepicker in Django?
Hi Dev,
This tutorial shows you how to use datepicker in django. I explained simply step by step how to use datepicker with django. let’s discuss about django bootstrap datepicker example. I explained simply about django bootstrap datepicker example tutorial.
Datepicker is nothing related to django, it is a separated jquery library. you can simply use datepicker in django app as you use on another framework. In this example i use tempusdominus datepicker js library for datepicker..
Here i explained simply step by step example of how to use date picker in django.
Step 1: Create a ProjectIn this step, we’ll create a new django project using the django-admin. Head back to your command-line interface and run the following command:
django-admin startproject exampleStep 2: Create a App
Now we'll create a single app called core to store a list of post names. We're keeping things intentionally basic. Stop the local server with Control+c and use the startapp command to create this new app.
python3 manage.py startapp coreStep 3: Update setting.py
Next, then update INSTALLED_APPS within our settings.py file to notify Django about the app.
Next, you need to add it in the settings.py file as follows:
settings.py.... INSTALLED_APPS = [ .... 'core', ]Step 4: Create a Form
In this step We need to create a form that will be used .like add a bootstrap class for our datepicker etc.. plus we need to add custom styling.
core/forms.pyfrom django import forms class DateForm(forms.Form): date = forms.DateTimeField( input_formats=['%d/%m/%Y %H:%M'], widget=forms.DateTimeInput(attrs={ 'class': 'form-control datetimepicker-input', 'data-target': '#datetimepicker1' }) )Step 5: Creating the Views
In this step, we need to configure our views. The date_picker page will just be a template.so open the core/views.py file and add:
core/views.pyfrom django.shortcuts import render from .form import DateForm from django.http import HttpResponse # Create your views here. def date_picker(request): context={} context['form']= DateForm return render(request,'datePicker.html',context)Step 6: Creating the Templates
Next, then with your text editor create new templates files: core/templates/datePicker.html file and the add:
core/templates/datePicker.html<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Tuts-Station.com</title> <!-- Bootstrap 4 --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script> <!-- Font Awesome --> <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> <!-- Moment.js --> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script> <!-- Tempus Dominus Bootstrap 4 --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/css/tempusdominus-bootstrap-4.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.min.js"></script> </head> <body> <div class="container mt-5 pt-5"> <h2>How to Use Date Picker in Django? - <span class="text-primary">Tuts-Station.com</span></h2> <div class="row"> <div class="input-group date" id="datetimepicker1" data-target-input="nearest"> {{ form.date }} <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker"> <div class="input-group-text"><i class="fa fa-calendar"></i></div> </div> </div> </div> </div> <script> $(function () { $("#datetimepicker1").datetimepicker(); }); </script> </body> </html>Step 7: Creating URLs
In this section, we need a urls.py file within the core app however Django doesn't create one for us with the startapp command. Create core/urls.py. Note as well that we set an optional URL name for each.
Here's what it looks like:
core/urls.pyfrom django.urls import path from . import views urlpatterns = [ path('', views.index,name='index'), path('date-picker',views.date_picker), ]
Next, we require to add a URL path for our example app which can be done by importing include and setting a path for it.
example/urls.pyfrom django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('', include('core.urls')), ]Run the Server
In this step, we’ll run the local development server for playing with our app without deploying it to the web.
python manage.py runserver
Next, go to the http://localhost:8000/date-picker address with a web browser.
I hope it will help you....