django-sample-app is a minimal sample application to start developing your web project immediately on Django framework.
The sample application comes with:
- html5shiv
- jQuery v2.1.0 (No support for IE-8 or below)
- Twitter Bootstrap v3.3.5
- Font Awesome v4.3.0
that are glued together with initializr. And its current requirements.txt
file is:
Django==1.8.2
django-compressor==1.5
django-debug-toolbar==1.3.2
django-extensions==1.5.5
ipython==3.2.0
psycopg2==2.6.1
six==1.9.0
sqlparse==0.1.15
wsgiref==0.1.2
You should already know what is virtualenv, preferably virtualenvwrapper at this stage. So, simply create it for your own project, where projectname
is the name of your project:
$ mkvirtualenv --clear projectname
Now, you need the django-sample-app project files in your workspace:
$ cd /path/to/your/workspace
$ git clone git://github.com/kirpit/django-sample-app.git projectname && cd projectname
Right there, you will find the requirements.txt file that has all the great debugging tools, django helpers and some other cool stuff. To install them, simply type:
$ pip install -r requirements.txt
projectname/wsgi.py
file is necessary for WSGI gateways (such as uWSGI) to run your Django application and also required from Django itself. You definitely want to change {{ project_name }}
value in this file to whatever you name your application (e.g. bookstore.settings
).
Go to http://www.miniwebtool.com/django-secret-key-generator/, create your secret key, copy it. Open your projectname/settings/default.py
, find SECRET_KEY
line, paste your secret key.
It is good idea to make a find & replace within this default settings file as there are some "{{ project_name }}" string left such as ROOT_URLCONF
or LOCAL_APPS
variables.
You also have to config your application URLs, specific to your own needs. For the beginning, the sample app has only one view that you need to modify its namespace from projectname/urls.py
, where it imports HomeView.
Copy projectname/settings/local.template.py
as local.py
into the same directory and modify necessary changes. local.py is always ignored by .gitignore, so this is the machine specific settings mostly for development purposes.
First set the database engine (PostgreSQL, MySQL, etc..) in your settings files; projectname/settings/default.py
and/or projectname/settings/local.py
. Of course, remember to install necessary database driver for your engine. Then define your credentials as well. Time to finish it up:
./manage.py migrate
./manage.py runserver
or
./manage.py runserver_plus
(Requires Werkzeug)