Metadata-Version: 1.1
Name: django-instagram
Version: 0.3.1
Summary: Instagram client for Django.
Home-page: https://github.com/marcopompili/django-instagram
Author: Marco Pompili
Author-email: django@odd.red
License: BSD-3 License
Description: ================
        django-instagram
        ================
        
        A Django application that allows to use some template tags to display content
        from an Instagram public profile.
        
        ------------
        Requirements
        ------------
        
        * `Django >= 1.6 <https://www.djangoproject.com/>`_
        * `lxml <https://pypi.python.org/pypi/lxml/3.6.4>`_
        * `requests <https://pypi.python.org/pypi/requests/2.11.1>`_
        * `sorl-thumbnail <https://github.com/mariocesar/sorl-thumbnail>`_
        * `Pillow <https://pypi.python.org/pypi/Pillow/3.3.1>`_
        
        ------------
        Installation
        ------------
        
        Install Django with your favourite linux packaging system or you can use pip
        for installing python packages, if Django is not an official package for
        your distribution:
        
        Use pip to install Django Instagram:
        
        .. code-block:: bash
        
          pip install django-instagram
        
        Pip should take care of the package dependencies for Django Instagram.
        
        -------------
        Configuration
        -------------
        
        Add the application to INSTALLED_APPS:
        
        .. code-block:: python
        
          INSTALLED_APPS = ('...',
                            'django_instagram',)
        
        Rebuild your application database, this command depends on which
        version of Django you are using.
        
        In Django 2.0 (recommended):
        
        .. code-block:: bash
        
          python manage.py makemigrations django_instagram
        
        Them migrate the db:
        
        .. code-block:: bash
        
          python manage.py migrate
        
        -----
        Usage
        -----
        
        The `instagram_user_recent_media` brings into context two objects:
        
          - `profile`: Contains the who scraped object.
          - `recent_media`: Contains the recent media, like 10 or 12 entries or so.
        
        A Django `urls.py` example using a `TemplateView` View class with a context variable called `instagram_profile_name`:
        
        .. code-block:: python
        
            from django.contrib import admin
            from django.urls import path
            from django.views.generic import TemplateView
            urlpatterns = [
                path('admin/', admin.site.urls),
                path('', TemplateView.as_view(template_name='index.html', extra_context={
                    "instagram_profile_name": "amd"
                })),
            ]
        
        You can display the data contained in `recent_media` list like this:
        
        .. code-block:: html
        
            <!DOCTYPE html>
        
            {% load instagram_client %}
        
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>{{ instagram_profile_name|capfirst }} Instagram feed</title>
            </head>
            <body>
            <h1>{{ instagram_profile_name|capfirst }} Instagram Feed</h1>
            <div id="django_recent_media_wall">
                {% instagram_user_recent_media instagram_profile_name %}
                {% for media in recent_media %}
                    <div class="django_instagram_media_wall_item">
                        <a href="//instagram.com/p/{{ media.shortcode }}" target="_blank">
                            <img src="{{ media.thumbnail_src }}"/>
                            <span>{{ media.edge_media_to_caption.edges.0.node.text }}</span>
                        </a>
                    </div>
                {% endfor %}
            </div>
            <p>Got from instagram</p>
            </body>
            </html>
        
        There are also two inclusion tags that includes an example of
        how to parse data from Instagram, you can also use them like
        this:
        
        .. code-block:: html
        
          {% load instagram_client %}
        
          <h1>Instagram media wall</h1>
          {% instagram_recent_media_wall username="intel" %}
        
          <h1>Instagram sliding box</h1>
          {% instagram_recent_media_box username="intel" %}
        
        -------
        Filters
        -------
        
        As you may have noticed some filters can be used for sizing
        the pictures, here is the list of the usable fitlers:
        
        For standard size:
        
        .. code-block:: html
        
          {% for media in recent_media %}
          ...
          <img src="{{ media.thumbnail_src|standard_size }}"/>
          ...
          {% endfor %}
        
        For low resolution images:
        
        .. code-block:: html
        
          {% for media in recent_media %}
          ...
          <img src="{{ media.thumbnail_src|low_resolution }}"/>
          ...
          {% endfor %}
        
        For thumbnail size:
        
        .. code-block:: html
        
          {% for media in recent_media %}
          ...
          <img src="{{ media.thumbnail_src|thumbnail }}"/>
          ...
          {% endfor %}
        
        --------
        Releases
        --------
        * 0.3.1 Template tag accepts context variables.
        * 0.3.0 Updates to the scraping algorithm.
        * 0.2.0 New scraping algorithm, removed Python Instagram.
        * 0.1.1 Numerous bug fixes, better documentation.
        * 0.1.0 Work in progress version.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.6
Classifier: Framework :: Django :: 1.7
Classifier: Framework :: Django :: 1.8
Classifier: Framework :: Django :: 1.9
Classifier: Framework :: Django :: 2.0
Classifier: Framework :: Django :: 2.2
