Intuitive admin interface
So easy to use. So easy to customize. You’re going to love the content you build better with ButterCMS.
Handy integration with Python
Our Python CMS has a simple content API and drop-in Python SDK that makes the magic happen in minutes, not hours.
A truly zero-maintenance solution
With ButterCMS, you’ll never worry about security upgrades, hosting, or performance again.
Powerful CMS for Python. Zero headache.
Drop our API-based CMS into your Python app in minutes.
ButterCMS provides a component-based CMS and content API for Python and Python apps. Use ButterCMS to enable dynamic content in your apps for page content, blogs, and anything else. Most customers get our Python CMS set up in one hour or less.
That leaves plenty of time for you and your marketing team to do what you do best: create killer apps with killer content.
See how Butter’s API enables you to compose flexible page layouts and easily reorder components, without a developer.
“Best CMS on the market”
After shopping the market, it was clear that ButterCMS was the perfect choice. It allows our developers to build powerful components and makes it easy for our marketing team to drive a better customer experience. Hampton Catlin Creator of Sass and Haml
Deploy our Python Django Starter in 30 seconds
Or follow the below commands to clone a copy of the repo from github, install dependencies, set your free Butter token, and run your local server on localhost:8000/.
$ git clone https://github.com/ButterCMS/django-starter-buttercms.git
$ cd django-starter-buttercms
$ python3 -m venv butterenv && source butterenv/bin/activate
$ pip install --upgrade pip && pip install -r requirements.txt
$ echo 'BUTTERCMS_API_TOKEN=your_token' >> .env
$ python manage.py runserver
Built to make content marketing easy
ButterCMS is the best headless cms for Python for a simple reason: Python developers can build solutions that marketing people love. Our API allows your content gurus to quickly spin up high-converting, dynamic landing pages, SEO pages, product marketing pages, and more, all using simple drag-and-drop functionality.
The simplest Python CMS you'll find
Our simple setup saves you time and money. Take us for a spin to see for yourself!
It's the epitome of plug-and-play simplicity for content creators. It does exactly what I need it to. LUKE GARDNER, CONTENT SPECIALIST, PRINTAVO
Fast integration with any Python app
Our mission was to make it easy to integrate Butter with your existing Python app in minutes. It’s so simple! To demonstrate, here’s a mini tutorial to give you a feel for the process of adding marketing pages to your Python app.
Of course, you can also use our Collections to do advanced content modeling. For a full integration guide, check out our Official Guide for the ButterCMS Python API client.
See how easily you can integrate the ButterCMS Pages API with your Python app.
Seamless Python components
Empower your marketing team with dynamic landing pages that align perfectly with your Python components.
Components are the essential building blocks of any Python app, and ButterCMS handles them with ease.
Our drag and drop interface makes it simple to structure your content to match existing Python components and to create new reusable components whenever you need them.
One Python CMS with everything you need
There’s a reason so many developers are choosing a headless Python CMS. It’s easy to set up, offers flexible, customizable content modeling, and gives you access to our full Python API.
ButterCMS saves you development time
Most customers get our Python CMS up and running in less than an hour. Try it yourself!
Simple as can be, with powerful features and great customer support. DILLON BURNS, FRONT END DEVELOPER, KEYME
How to integrate ButterCMS into your Python application
Just follow the simple steps below to complete the integration and begin creating pages with Butter. Be sure to check out our full guide to creating pages using the ButterCMS Python API.
First you would set up a new Customer Case Study page type in Butter and create a page. With your page defined, the ButterCMS API will return it in JSON format like this:
{
"data": {
"slug": "acme-co",
"fields": {
"facebook_open_graph_title": "Acme Co loves ButterCMS",
"seo_title": "Acme Co Customer Case Study",
"headline": "Acme Co saved 200% on Anvil costs with ButterCMS",
"testimonial": "<p>We've been able to make anvils faster than ever before! - <em>Chief Anvil Maker</em></p>\r\n<p><img src=\"https://cdn.buttercms.com/NiA3IIP3Ssurz5eNJ15a\" alt=\"\" caption=\"false\" width=\"249\" height=\"249\" /></p>",
"customer_logo": "https://cdn.buttercms.com/c8oSTGcwQDC5I58km5WV",
}
}
}
To create these pages in our app, we create a route that fetches content for the page by using a URL slug parameter in customers/urls.py
file:
url(r'^customers/(?P<slug>.*)/$', views.case_study, name='case_study'),
Create a new view in customers/views.py
:
from butter_cms import ButterCMS
client = ButterCMS('')
def case_study(request, slug):
case_study = client.pages.get('customer_case_study', slug)
return render(request, 'case_study.html', {'case_study': case_study.data.fields })
Display results in template customers/templates/case_study.html
:
<html>
<head>
<title>{{case_study.seo_title}}</title>
<meta property="og:title" content="{{case_study.facebook_open_graph_title}}" />
</head>
<body>
<h1>{{ case_study.headline }}</h1>
<img width="100%" src="{{ case_study.customer_logo }}">
<p>{{ case_study.testimonial|safe }}</p>
</body>
</html>
That's it! If you browse to your homepage you'll see your homepage populated with the content you created in Butter.
Get Started for FreeThe advantages of going headless with Python
Python is a beloved general-purpose programming language known for its easy-to-use syntax, large, supportive community, and extensive library ecosystem. Here are a few reasons why it’s a great choice for building headless apps:
Fully open-source, fully extensible
Python is open-source, which means that you can customize it as needed for your business use case. For example, you could develop your own version of the Python compiler or write custom modules for specific features.
This flexibility is echoed by Python headless CMS platforms that let you design a decoupled frontend that fully matches your brand identity.
Do more with less code
Python's simple syntax and powerful libraries allow for rapid development and testing. Similarly, when using a headless Python CMS, you can create, manage, and deliver content across channels and devices much faster. This all-round efficiency helps you respond quickly to changes and gain a competitive edge in the market.
Be AI/ML-ready
Python is the undisputed leader in machine learning and artificial intelligence. Libraries like TensorFlow and scikit-learn can easily integrate into your headless CMS. This allows you to add advanced features like content personalization, predictive analytics, and more to enhance the overall user experience.
Versatile frameworks
In addition to a plethora of web modules, Python offers frameworks like Django and Flask, which are great for building APIs fast. These high-level frameworks provide pre-built structures and functionalities, allowing developers to jumpstart headless development with Python, saving even more time and effort.
Cross-platform flexibility
Python works on several operating systems, including Windows, MacOS, and Linux. This cross-platform compatibility ensures that your headless applications can run smoothly on any server environment, regardless of the underlying operating system. You can deploy your Python-powered headless project on the infrastructure that best suits your needs.
Why ButterCMS is the perfect match for Python
ButterCMS and Python share several design principles, characteristics, and features that make them a perfect match for building headless apps:
Both prioritize developer ease and productivity
Mirroring Python's developer-centric approach, ButterCMS, a leading Python CMS, offers a suite of features designed to streamline development, including webhooks, an API explorer, one-click migrations, and support for the largest collection of programming languages, including Python. The Python client library and pre-built starter kits make the onboarding experience a breeze.
Both are incredibly versatile and feature-rich
Just like you can use Python for web development, AI, scripting, and several other use cases, you can leverage ButterCMS's flexibility for a wide range of projects like e-commerce, SaaS applications, marketing websites, and more. This versatility empowers you to build dynamic and data-driven experiences for different business use cases.
Both are future-ready
By choosing ButterCMS as your Python CMS, you lay the foundation for a future-proof application. Python continuously evolves with new libraries and frameworks to remain a cutting-edge programming language. Similarly, ButterCMS stays current with the latest trends in content management, providing features like built-in blog engine, revision history, omnichannel delivery, and globally cached content.
Both scale with your needs
Python is known for its scalability, making it capable of handling everything from small scripts to large-scale applications. ButterCMS also scales effortlessly to accommodate the growing demands of your content as your business expands. Whether you want to create different sites or environments for your organization, support more users or locales, or manage an increasing number of posts or pages, ButterCMS has you covered.
What is the future of Python?
Python's future looks promising, and it strongly aligns with the continued rise of headless and composable architectures. Here are a few key trends that solidify this connection:
Continued growth in machine learning and AI
Python's prominence in machine learning and AI is expected to grow even further. With libraries like TensorFlow and PyTorch becoming more powerful, Python will be instrumental in developing next-generation AI features that can easily integrate into headless architectures.
Focus on WebAssembly (WASM)
WASM is a new standard that allows web browsers to run code compiled from different languages, including Python. This opens doors for building performant and personalized user interfaces within headless architectures. For example, you could use Python to develop complex algorithms that run directly in the browser, improving user experience without relying on server-side processing.
Enhanced integrations with cloud applications
With the continued rise of cloud computing, Python's compatibility with major cloud platforms like AWS, Google Cloud, and Azure is becoming increasingly relevant. Integrations with cloud services will allow Python developers to build scalable, cloud-native applications that leverage headless CMS capabilities.
The rise of composable technologies
Composable architectures are built from independent, reusable components, like PBCs (Packaged Business Capabilities) or microservices. Python excels at modular programming, which makes it ideal for creating reusable components that can easily integrate into headless systems. This leads to faster development cycles that are perfectly suited for the ever-evolving headless landscape.