The Goal:
A Personal or Small Business Website
Requirements:
Static Pages
Blog with Comments
Easy to Edit
Extensible
Blog first:
Wordpress (#1 by far)
CMS first:
Static HTML pages (#1 by far)
Drupal
Joomla!
More Requirements:
Python!
Spectrum:
Blogofile
…
Django
…
Plone
There are 101 Ways to Make a Website...
You will go MAD trying to figure out the “BEST”
one for you.
Django
Django Concepts:
MVC – Model Template View
Project
Application
Models / Managers
Templates / Context Processors
Views / Mi...
Tools:
Python
Virtualenv
Pip
http://djangopackages.com/
1. virtualenv –no-site-packages pyenv
2. source pyenv/bin/activate
3. pip install -e 
hg+http://bitbucket.org/stephenmcd/m...
Admin
On-page Editing
Template Editing
mezzanine.core
mezzanine.blog
mezzanine.forms
mezzanine.pages
mezzanine.settings
mezzanine.twitter
Django Debug Toolbar
http://pypi.python.org/pypi/django-debug-toolbar
# pip install django-debug-toolbar
# python manage.p...
Django Command Extensions
http://code.google.com/p/django-command-extensions/
# pip install django-extensions
# python man...
South
http://south.aeracode.org/
# pip install south
# python manage.py syncdb
# python manage.py schemamigrations … --aut...
You drive.
Upcoming SlideShare
Loading in …5
×

Building a Personal or Small Business Website with Django

5,916
-1

Published on

These are the slides to Eric Floehr's presentation at the October 2010 Central Ohio Python Users Group meeting.

There are lot of options when you want a website with things like easy content creation/editing (product pages, about pages, etc.), a blog, and maybe even Twitter status updates. Products like Wordpress, Drupal, and Plone come to mind. But you don't want to learn another new one-off app that you can't easily customize, don't want an enterprisey app, and being the Pythonista programmer that you are, you'd like it it Python and you'd like to build it yourself. That way you know all the ins-and-outs and can customize as you like.


From scratch, Eric will show how to build a CMS and blog using Django and best-of-breed reusable apps, demostrating best practices that will allow you to get a site up and working in the shortest time possible (I hope to talk for less than an hour) but allow for the maximum customization in the future.

I hope that you will leave the talk able to create your own personal or small business website that is powerful, customizable, and most of all, useful.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
5,916
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Building a Personal or Small Business Website with Django

  1. 1. The Goal: A Personal or Small Business Website
  2. 2. Requirements: Static Pages Blog with Comments Easy to Edit Extensible
  3. 3. Blog first: Wordpress (#1 by far) CMS first: Static HTML pages (#1 by far) Drupal Joomla!
  4. 4. More Requirements: Python!
  5. 5. Spectrum: Blogofile … Django … Plone
  6. 6. There are 101 Ways to Make a Website... You will go MAD trying to figure out the “BEST” one for you.
  7. 7. Django
  8. 8. Django Concepts: MVC – Model Template View Project Application Models / Managers Templates / Context Processors Views / Middleware URL Dispatcher
  9. 9. Tools: Python Virtualenv Pip
  10. 10. http://djangopackages.com/
  11. 11. 1. virtualenv –no-site-packages pyenv 2. source pyenv/bin/activate 3. pip install -e hg+http://bitbucket.org/stephenmcd/mezzanine#egg=mezzanine 4. mezzanine-project sample 5. python sample/manage.py syncdb 6. python sample/manage.py runserver A working site in 6 lines
  12. 12. Admin On-page Editing Template Editing
  13. 13. mezzanine.core mezzanine.blog mezzanine.forms mezzanine.pages mezzanine.settings mezzanine.twitter
  14. 14. Django Debug Toolbar http://pypi.python.org/pypi/django-debug-toolbar # pip install django-debug-toolbar # python manage.py debugsqlshell Already configured in Mezzanine
  15. 15. Django Command Extensions http://code.google.com/p/django-command-extensions/ # pip install django-extensions # python manage.py graph_models blog>blog.dot # dotty blog.dot # pip install werkzeug # python manage.py runserver_plus
  16. 16. South http://south.aeracode.org/ # pip install south # python manage.py syncdb # python manage.py schemamigrations … --auto # python manage.py migrate ...
  17. 17. You drive.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×