A Foundation Theme for Django Projects¶
A Pinax theme based on Zurb Foundation. Foundation is a popular CSS framework that is light weight, but includes all the basics such as; a responsive grid, forms, dialog, navigation tabs, buttons, typography and so on. You can read more about the ideas behind Foundation and how to use it for rapid prototyping in this article.
Contributors¶
What’s New¶
- We support the latest version of Foundation (3.2)
- Updated the documentation
- The project now supports the
--template
argument fordjango-admin.py startproject
command - Removed more
Pinax 0.9
dependencies however, the project should still be compatible with the other apps in thePinax
eco-system such as django-user-account - Other bug fixes
Getting Started¶
Start by creating a new virtualenv for your project and install Django 1.4
mkvirtualenv mysite
pip install Django==1.4.1
Next, use the startproject
management command
to create a new Django project
with a layout as specified in starter project (template URL).
We provide you with two Foundation based starter projects
To use create a project based on the zero project run
django-admin.py startproject --template=https://github.com/chrisdev/foundation-project-zero/zipball/master mysite
This will create a new Django project in the mysite directory with:
- An apps folder for your internal apps
- initial data (for handling
sites.Site
model)- Requirements files for use with pip
- A home for your site’s static files
- A set of templates designed to work with the foundation theme
Finally install the requirements, sync your database and start the test server
cd mysite
pip install -r requirements.txt
python manage.py syncdb && python manage.py runserver
The account starter project provides all the features of the zero project in addition to incorporating features to support django-user-account.
django-user-account is an extremely useful Pinax
app that
works in conjunction with django.contrib.auth to
take your Django project from having simple log in, log out and password reset
to a full blown account management system. To create a project based on the
account starter project
django-admin.py startproject --template=https://github.com/chrisdev/foundation-project-account/zipball/master mysite
Templates¶
Your own templates should normally inherit from site_base.html
.
You should provide your own “footer” template _footer.html
.
Also change the Site name by editing fixture/initial_data.json
.
You can also use the Admin app for this purpose.
The url name “home” should be defined as the homepage.
Upgrading From Previous Versions¶
To upgrade your site start by upgrading to the latest version on pinax-theme-foundation
pip install -- upgrade pinax-theme-foundation
The big change between Foundation 2 to 3 is the grid.
In Foundation 3 you no longer have to use .container
to define the grid. In Foundation 2 the grid was built around
*.container > .row > .columns*
. In Foundation 3
you now just need to use *.row > .columns*
.
In Foundation 3 padding and borders no longer increase
the width of an element,
they only go inward so for example in Foundation 3 .three.columns
always has a width of 25% with a 15px padding on the left and right.
You can find the Foundation 3 migration guide
here