Flexmonster Software License Agreement (“Agreement”) has been significantly revised and is effective as of September 30, 2024.
The following modifications were made:
The modified version of Flexmonster Software License Agreement is available here.
Downloading, installing, and/or continuing to use Flexmonster Software after September 30, 2024, constitutes Licensee’s acceptance of the terms and conditions of the modified version of Flexmonster Software License Agreement. If Licensee does not agree to any of these terms and conditions, they must cease using Flexmonster Software and must not download, install, use, access, or continue to access Flexmonster Software. By continuing to use Flexmonster Software or renewing the license under License Model or Maintenance after the effective date of any modifications to Agreement, Licensee accepts and agrees to be bound by the terms and conditions of the modified Agreement.
In this tutorial, you can learn how to integrate Flexmonster with the Django framework.
Note The tutorial describes how to integrate Flexmonster using the Django templates. If you are using Django only for the back end, see how to integrate Flexmonster with JavaScript or with front-end frameworks.
Note Python 3 and Django versions must be compatible. Check out the version compatibility guide.
Step 1. To get our sample project, download it as ZIP or clone it with the following command:
git clone https://github.com/flexmonster/pivot-django && cd pivot-django
Step 2. Run the following command:
py manage.py migrate
python3 manage.py migrate
This will create database tables for the default Django apps used in the project. Learn more about the migrate command.
Step 3. Run your application:
py manage.py runserver
python3 manage.py runserver
To see the result, open http://localhost:8000/
in your browser.
The application can be shut down manually with Ctrl + C
.
To integrate Flexmonster into a Django app, follow the steps below:
Step 1. If you don’t have a Django project yet, create it by running the following commands in the console:
django-admin startproject pivot_django cd pivot_django
Step 2. In the project, create a new app with the following command:
py manage.py startapp dashboard
python3 manage.py startapp dashboard
Step 3. Open the pivot_django/settings.py
file and add the app’s configuration class to the INSTALLED_APPS
setting. The app’s configuration class can be found in dashboard/apps.py
:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'dashboard.apps.DashboardConfig', ]
Step 4. Run the following command:
py manage.py migrate
python3 manage.py migrate
This will create database tables for the applications listed in the INSTALLED_APPS
setting. Learn more about the migrate command.
Step 5. Create a folder (e.g., templates/
) for HTML templates in the root folder where pivot_django/
and dashboard/
are located.
Step 6. Go to pivot_django/settings.py
again and add a path to the folder for HTML templates (e.g., templates/
) to the DIRS
list in TEMPLATES
:
'DIRS': [BASE_DIR.joinpath('templates')],
'DIRS': [os.path.join(BASE_DIR, 'templates')],
Step 7. In the folder for HTML templates (e.g., templates/
), create an HTML file (e.g., index.html
) and add Flexmonster to it:
<h1>Flexmonster integration with Django</h1> <div id="pivotContainer"></div> <script src="https://cdn.flexmonster.com/flexmonster.js"></script> <script> let pivot = new Flexmonster({ container: "pivotContainer", componentFolder: "https://cdn.flexmonster.com/", toolbar: true, report: { dataSource: { filename: "https://cdn.flexmonster.com/data/data.json" } } }); </script>
Step 8. Add the created HTML page to the app’s views. Navigate to dashboard/views.py
and insert the following index
function there:
def index(request):
return render(request, 'index.html')
Step 9. Open pivot_django/urls.py
and add the path('', views.index, name='index'),
line to the urlpatterns
:
from django.contrib import admin from django.urls import path from dashboard import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index, name='index'), ]
Step 10. Run your application:
py manage.py runserver
python3 manage.py runserver
To see the result, open http://localhost:8000/
in your browser.
The application can be shut down manually with Ctrl + C
.
You may be interested in the following articles: