
Research
2025 Report: Destructive Malware in Open Source Packages
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.
bambu-blog
Advanced tools
A simple set of models for a basic blog, with some tools for custom-designed blog post writing
A simple set of models for a basic blog, with some tools for custom-designed blog post writing
Bambu Blog was originally intended as a simple blogging tool for web
apps, that allowed developers to quickly setup a blog for their app
based on a common Bootstrap template, without needing to manage another
site and set of user accounts. It used Markdown to render text-only
copy, and Bambu Attachments <https://github.com/iamsteadman/bambu-attachments>__ to
handle uploading images and other media.
It's grown a little since then, and now supports either the
MarkItUp <https://bitbucket.org/carljm/django-markitup/src>__ or
TinyMCE <https://github.com/aljosa/django-tinymce>__ editors (just
install the Django app you want and Bambu Blog will detect it and apply
the appropriate class names to the main body textbox).
This is part of a toolset called Bambu Tools. It's being moved from a
namespace of bambu to its own 'root-level' package, along with all
the other tools in the set. If you're upgrading from a version prior to
2.0, please make sure to update your code to use bambu_blog rather
than bambu.blog.
Install the package via Pip:
::
pip install bambu-blog
Add it to your INSTALLED_APPS list:
.. code:: python
INSTALLED_APPS = (
...
'bambu_blog'
)
Add bambu_blog.urls to your URLconf:
.. code:: python
urlpatterns = patterns('',
...
url(r'^blog/', include('bambu_blog.urls')),
)
Run manage.py syncdb or manage.py migrate to setup the database
tables.
The blog uses a number of templates. All of the important ones extend
blog/base.html, so you should start by overriding that template to
set it up how you like it. The naming convention used throughout the
Bambu collection of apps designates the main content area via the Jinja
block form_content. A block is already defined called sidebar,
so you can either place HTML in there or override
blog/sidebar.inc.html.
Add a blog post via the admin area of your site. As you're logged in as a staff member you don't have to publish the blog post to be able to see it on the site once saved. View the blog post index at /blog/.
Override the blog/post.html template to tweak the display of the
blog post.
This package, among most in the Bambu toolset is designed to work with
Bambu Bootstrap <https://github.com/iamsteadman/bambu-bootstrap>__, a
collection of flexible templates designed for web apps based on the
Twitter Bootstrap framework. It's not a package requirement, but it'll
mean the template structure and the context variables exposed by the
view makes a little more sense.
Full documentation can be found at
ReadTheDocs <http://bambu-blog.readthedocs.org/>__.
Find me on Twitter (@iamsteadman) or visit my blog <http://steadman.io/>__.
FAQs
A simple set of models for a basic blog, with some tools for custom-designed blog post writing
We found that bambu-blog demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.

Research
/Security News
A five-month operation turned 27 npm packages into durable hosting for browser-run lures that mimic document-sharing portals and Microsoft sign-in, targeting 25 organizations across manufacturing, industrial automation, plastics, and healthcare for credential theft.