One thing in official docs was forgotten – you need install django-matplotlib and matplotlib:
pip install django-matplotlib pip install matplotlib
Do this in your venv!
Then add to settings.py:
INSTALLED_APPS = [
...
'django_matplotlib',
...
]
AND
# -----------
# models.py
# -----------
from django.db import models
from django_matplotlib import MatplotlibFigureField
class MyModel(models.Model):
figure = MatplotlibFigureField(figure='my_figure')
# -----------
# figures.py lives in the same folder as models.py
# -----------
import matplotlib.pyplot as plt
def my_figure():
fig, ax = plt.subplots()
ax.plot([1, 3, 4], [3, 2, 5])
return fig
# --------
# admin.py
# --------
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)
Now you can go to /admin of your project and add an example model:
