Skip to main content

Django package to sync and display personal Instagram media

Project description

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

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-instagram-profile-0.1.0.tar.gz (7.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page