Skip to content
Django package to sync and display personal Instagram media
Python HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
instagram_profile
.gitignore
LICENSE
MANIFEST.in
Pipfile
Pipfile.lock
README.md
setup.cfg
setup.py

README.md

django-instagram-profile

A Django application that allows to fetch individual Instagram user profile media data and save into database. Instagram media is managed using Django admin console. Demo

Example

Instagram profile

First you need to configure Instagram application following these instructions: Instagram Basic Display API

Requirements

Installation

Install Django and other required packages. It is very handy to use pipenv for this.

pipenv install django requests pillow configparser

By default, newly created Django project configuration uses SQLite. If you're using other database engine make sure you configure it properly beforehand.

Install Instagram profile package:

pipenv install django-instagram-profile

Create env.ini file inside your project directory with the following settings:

[instagram]
account = instagram_account_name
auth_url = https://api.instagram.com/oauth/authorize
access_token_url = https://api.instagram.com/oauth/access_token
app_id = 123
secret = abc
redirect_url = https://mysite.com/admin/instagram_profile/post/sync
media_url = https://graph.instagram.com

Configuration

Add the application to INSTALLED_APPS:

INSTALLED_APPS = ('instagram_profile',)

Create a folder for Instagram media

/project_name/media/instagram

Configure correct paths for uploaded instagram media in settings.py

SITE_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media')
MEDIA_URL = '/media/'

Add media template context processor in the settings.py Also add template dir to the list of dirs

TEMPLATES = [
    {
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.media', # add this line
            ],
        },
    },
]

Add url to display instagram media feed in urls.py

urlpatterns = [
    path('instagram/', include('instagram_profile.urls')), # add this line
]

To serve media files during development need to add following lines to urls.py

if settings.DEBUG:
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

Run the database migrations

python manage.py migrate

Releases

  • 0.1.0 Alpha version
You can’t perform that action at this time.