I wish to build websites for multiple clients and wish to make the most of features that include typical CMSs. But in addition I have to do plenty of custom remaking like -
1) Writing my very own templates on the top associated with a existing templates to exhibit the information inside a form more appropriate of these sites. 2) Extract a few of the data from existing data sources which is up-to-date by different processes. 3) Implement my very own login/auth systems. 4) Do a few of the Search engine optimization optimizations from the site myself and then add dynamic pages towards the sites.
Which CMSs are designed for these kinds of needs or shall we be held best using something similar to Django. I'm confident with both python and php but prefer python.
Several fine suggestions already.
Django is certainly fairly hands-on, but when you decide to go the Django route give Pinax a glance, http://pinaxproject.com/
Pinax combines many applications together to provide you with lots of functionality right as they are. Becasue it is still Django underneath the hood, you are able to still personalize it around you would like.
Two highly versatile and configurable CMSs I have tried personally:
- Wolf CMS - PHP-based, makes PHP directly available in after sales "templating" is just (X)HTML + CSS + PHP requires content highly extensible.
- Symphony CMS - XML + PHP based XSLT causes it to be easy to manipulate websites content in creative ways.
So, neither Python-based, and Symphony requires getting out of bed to hurry with XML/XSLT. Both tick all of your boxes and set a reasonable little bit of energy into developer's hands.
Cake php is nice php framework which you'll rapidly use develop a custom Content management systems. It's also quite much like django in the setup. An additional benefit by using it is it has caching implemented from the beginning. It utilizes a MVC structure, therefore it super easy to obtain your mind around.
Knowing and therefore are comfortable using django then why don't you stick to that? as django is ideal for all of your needs.
If you're confident with hands-on programming, use Drupal. It is among the, otherwise probably the most effective, configurable and examined Content management systems around.
You will find plenty of CMSs' available available and many of them are great also however the three have a tendency to stick out are Drupal, Joomla and Wordpress. Joomla and wordpress are simpler to configure although not as easy to customize as Drupal is.
+1 for mezzanine. I've done a great deal of labor with mezzanine and you will have custom templates on the per slug basis http://mezzanine.jupo.org/docs/content-architecture.html#page-templates and add special logic through page processors http://mezzanine.jupo.org/docs/content-architecture.html#page-processors (I have posted a pull request which may permit them to be specified on the per slug basis too, right you can now specify them according to custom models which inherit from mezzanine's page model).
This means you can enter in the admin, produce a page known as random page, after which produce a template known as random-page.html and random page is going to be made making use of your new template as opposed to the default. If my patch is recognized then you may also produce a file known as page_processors.py, make use of a decorator passing on the slug random-page and write custom code applying form processing or whatever.
In my opinion it's very extensible and really simple to utilize and understand in addition to getting good paperwork at mezzanine.jupo.org/paperwork
my 2 cents
From the django world, I'd recommend using a 3rd party application for example django-cms and mezzanine. Although, the framework is greatly dependent to the authentication framework so rather than applying your personal, I would recommend benefiting from this and personalize it according to your requirements.