

Ask HN: Why is there still no Python-based blog engine alternative to WordPress? - cosmorocket

Python with its super awesome microframeworks like Flask and Bottle, simple routing, great Jinja2 templating engine, simple to implement DB connection to any kind of existing DB engines and a lot more still has no its own alternative to WordPress with its outdated overbloated spaghetti code.<p>You may see on ThemeForest how popular WordPress themes are. The money is there.<p>I swear it would be a really joyful experience to create and maintain themes for a Python-based blog with clean, logic and lightweight code and markup. So why is not the market moving in this direction?&#60;p&#62;May be some of you thought about it like I do?<p>Please share your thoughts about how you see the possible future of python-based blog engines and its markets.
======
selectnull
The reason is that most web hosting companies do not support python out of the
box, but they do support PHP. Users (bloggers) do not care about programming
languages, they care that they can install a software with one click. They
have that with WordPress, and if you want to beat WP, one of the major
problems to solve is trivial install procedure which is a problem if your web
hosting company does not support python.

~~~
twog
Dont you think thats because of the lack of blogging platforms, rather than
the lack of hosts? I mean, most shared hosts support one click installs for
Wordpress, but there is no alternative currently for a python clone of WP.

I guarantee you if there was a python CMS with any where near the adoption of
Wordpress, python hosting would be alot easier to find.

~~~
selectnull
How did WordPress achieve that level of adoption? By having web hosters
support PHP out of the box and being good enough. If web hosters did not
support PHP out of the box, there would be no WP.

------
cooperadymas
Most Python CMSs are built on Django. They rely on the Django admin for their
admin interface. The Django admin is not as intuitive or easy to use as
WordPress's admin, even with the customization that some of these tools make.
It is great for its intended purpose, but for running a typical blog it isn't
as good.

There are no inherent configurable site settings in Django without getting
into the code. You can't set the blog tagline, or change a simple setting like
"Users must be registered and logged in to comment" from the admin.

Django's templating system does not lend itself toward drop-in themes like
WordPress (this is huge). Since Django, and most Python frameworks, rely on
reusable apps it's a lot more difficult to create a theme that you can simply
load into a directory and use.

I don't think I have seen a Python CMS/blog engine yet that uses widgets. It's
almost trivial for a Django programmer to create a sidebar "widget" that shows
the most recent 5 posts, but for a casual blogger this is something they can't
do.

A WordPress site owner will almost never have to think about the database
powering the site. This is another thing WP actually does a good job with. If
I upgrade or add a new app in Python I will probably need to migrate and
update the DB schema, which means more technical command line work.

Other reasons people have said. Deployment is non-trivial with Python, not
every host supports it, etc.

------
burningion
Actually, Mezzanine is a pretty damn good alternative. It can be a little
confusing figuring out how the templates work, but once you grasp the general
concept, it's a breeze.

Also, flask-flatpages provides a very nice, minimalistic blog setup with text
files.

Either way, there are options, but they're not immediately obvious, and
they're not written about as much.

~~~
bmelton
I'll give another nod to Mezzanine, which is quite simply "really good".

Another great alternative is Hyde, which is admittedly more "Jekyll" than
Wordpress (the name is not an accident), but is a drop-dead simple way to
build static-paged blogs that scale (as all static pages do.)

------
megaman821
I have always wondered that too, but I think it is because of the different
audiences of PHP and Python.

There are Libraries->Frameworks->CMS's->Blog Platforms. Python tends to have
strong offerings on the Library and Framework front but no consensus enough to
have a popular CMS or Blog Platform. Without popularity, a vibrant ecosystem
never really develops. PHP has the tremendously popular WordPress and Drupal,
but they were not made using popular frameworks or libraries so their code
base appears quite messy and hackish. Also, PHP apps are very easy to get
started with; either one-click installs on cPanel or drop this chunk of code
in your web root. Configuring a Python web-server is still much harder for a
novice.

------
DasIch
There was TextPress, which was renamed to Zine, a project that was started by
Armin Ronacher who is also the author of Werkzeug, Flask, Jinja2 and a couple
of other projects.

The project ultimately died due to a lack of interest. At the time hosting
solutions like Heroku didn't exist so you needed your own root server,
blogging platforms were significantly easier to use and required no
maintenance. Besides you can just go with a static blog which does the job
just as well while being significantly cheaper and safer.

~~~
rsanchez1
That's the main issue I see, lack of interest from everyone involved in
blogging.

------
sday
There are a few good ones ones like Pelican And Tinkerer.
[http://www.quora.com/What-are-some-good-blogging-software-
wr...](http://www.quora.com/What-are-some-good-blogging-software-written-in-
Python/answer/Amit-Chaudhary)

As to the why, having a strong and viable alternative like WP discourages
others and Py community does like creating their own software, see the number
of alternatives to flask.

------
rsanchez1
You sound like you know how to do it and like you want to do it, so do it.
Thee simple answer to your question is that nobody who wants it can do it, and
nobody who can do it wants it, and apparently the ones who do want it and can
do it only ask why no one else did it.

