Wagtail, a new Django based CMS built by Torchbox, has been getting lot of attention recently. Originally it was a private project for the Royal college of art and open sourced later as Tom Dyson the co-founder of Torchbox mentioned here.
There are many Django based content management systems like Django cms, Mezzanine, FeinCMS and so on. So why a new Django cms?
Wagtail comes with lot of features and functionalities that makes it so flexible and easy to extend and customize. It's shipped with many options which offering the flexibility for developers and an elegant and ergonomic user interface for content authors/editors.
I can mention some highlighted features like:
And many more, just to let you the pleasure of discovering them by yourself.
Wagtail can work on most Django supported database management systems, but PostgreSQL is the most recommended for production.
Wagtail has strong support for Elasticsearch, both in the admin interface and for users of the website, and is faster and more powerful than the Django ORM.
There are many ways to setup Wagtail and our development environment to start using it, we are going to mention three of them.
Wagtail offers a Vagrant box that includes all the dependencies for a fully-fledged Wagtail environment and includes a set of standard templates and page types as a demo of a Wagtial based website.
PS: Im using Vagrant version 1.7.2
$ git clone https://github.com/torchbox/wagtaildemo.git $ cd wagtaildemo $ vagrant -v Vagrant 1.7.2 $ vagrant up $ vagrant ssh $ #Create a new super user to access wagtail admin $ ./manage.py createsuperuser $ #To update Elasticsearch $ ./manage.py update_index $ #Let's run wagtail demo now $ ./manage.py runserver 0.0.0.0:8000
By running a simple command line you can get a new wagtail project shipped with a vagrantfile to run their official box with all dependencies installed and ready to work.
$ yo wagtail
It will ask you to name your project, so name it whatever you like and press enter. You just created a new clean wagtail project. Now, you need to follow the same steps as we mentioned on the above with vagrant to provision your local vagrant box. For this time to access the wagtail project you must use http://127.0.0.1:8111 or just open the vagrantfile and change the port 8111 to whatever you like.
We are going to create a python virtual environment and then install wagtail using pip.
$ mkvirtualenv blogenv (blogenv)$ pip install wagtail
By installing wagtail a new command line will be available for use to create new wagtail projects.
To create a new wagtail project all we need is to type the following command:
(blogenv)$ wagtail start blog (blogenv)$ ./manage.py migrate (blogenv)$ ./manage.py createsuperuser (blogenv)$ ./manage.py runserver
Congratulation, you have prepared your development environment and wagtail. All you need now it to give it a try and start discovering wagtail options and features.
I didn't mention how to setup it using Docker. So, you can check out https://registry.hub.docker.com/search?q=wagtail and give it a try yourself.
We come to the end of this story and we are going to create a blog using wagtail in the next story.
There are currently no comments. You can be first!Sign in