Skip to main content

contentstack_utils is a Utility package for Contentstack headless CMS with an API-first approach.

Project description

Contentstack Utility

This guide will help you get started with Contentstack Python Utils SDK to build apps powered by Contentstack.

Prerequisites

The latest version of PyCharm or Visual Studio Code

Python 3

Create virtual environment

Activate virtual environment

SDK Installation and Setup

To set up Python Utils SDK, Go to terminal and locate the virtual environment path and type below.

   pip install contentstack_utils

If you are using Contentstack Python SDK in your project by running the following commands, then “contentstack_utils” is already imported into your project.

For the latest version

   pip install Contentstack

For the specific version

   pip install Contentstack==1.4.0

Usage

Let’s learn how you can use Utils SDK to render embedded items.

Create Render Option

To render embedded items on the front-end, use the renderContents function, and define the UI elements you want to show in the front-end of your website, as shown in the example code below:

    from contentstack_utils.utils import Utils
    from contentstack_utils.render.options import Options
    
    json_array # should be type of dictionary or list
    rte_content = "html_string"
    
    callback = Options()
    response = Utils.render_content(rte_content, json_array, callback)
    print(response)
    

Basic Queries

Contentstack Utils SDK lets you interact with the Content Delivery APIs and retrieve embedded items from the RTE field of an entry.

Fetch Embedded Item(s) from a Single Entry

To get an embedded item of a single entry, you need to provide the stack API key, environment name, content type’s UID, and entry’s UID. Then, use the entry.fetch function as shown below:

import contentstack
    
stack = contentstack.Stack('api_key','delivery_token','environment')
content_type = stack.content_type("content_type_uid")
entry = content_type.entry("entry_uid")
result = entry.fetch()
if result is not None:
   entry = result['entries']
   Utils.render(entry, ['rich_text_editor', 'some_other_text'], Option())
       

Fetch Embedded Item(s) from Multiple Entries

To get embedded items from multiple entries, you need to provide the stack API key, delivery token, environment name, and content type’s UID.

import contentstack

stack = contentstack.Stack('api_key','delivery_token','environment')
query = stack.content_type("content_type_uid").query()
result = query.find()
if result is not None and 'entries' in result:
   entry = result['entries']
   for item in range:
       option = Option()
       Utils.render(item, ['rich_text_editor', 'some_other_text'], option)

Supercharged

To get supercharged items from multiple entries, you need to provide the stack API key, delivery token, environment name, and content type’s UID.

import contentstack

stack = contentstack.Stack('api_key','delivery_token','environment')
query = stack.content_type("content_type_uid").query()
result = query.find()
if result is not None and 'entries' in result:
   entry = result['entries']
   for item in range:
       option = Option()
       Utils.json_to_html(item, ['paragraph_text'], option)

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

contentstack_utils-1.1.0.tar.gz (3.4 kB view hashes)

Uploaded Source

Built Distribution

contentstack_utils-1.1.0-py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 3

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