A modified "django-admin startproject" command using a custom template.
$ mkvirtualenv project_name
$ pip install git+git://github.com/cfc603/django-startproject-template.git#egg=django-startproject-template
django-startproject-template sets up the entire folder structure. Just move into the directory you would like create the project, then:
$ django-startproject.py project_name
The script will prompt for values to replace boilerplate variables with. These variables allow for both the file contents and path names to be customized to this specific project.
django-startproject-template is no longer needed
$ pip uninstall django-startproject-template
(assuming use with virtualenvwrapper)
$ subl $VIRTUAL_ENV/bin/postactivate
#!/bin/bash
# This hook is sourced after this virtualenv is activated.
export DJANGO_SETTINGS_MODULE='project_name.settings.local'
export PROJECT_DIR=/home/trevor/projects/project_name/source
$ source $VIRTUAL_ENV/bin/postactivate
$ cd $PROJECT_DIR
$ git init
$ pip install -r requirements.txt
Set versions installed:
$ pip freeze > requirements.txt
Create a new repository with project_name
$ git add .
$ git commit -m "init"
$ git remote add origin [email protected]:cfc603/project_name.git
$ git push -u origin master
$ mysql -u admin -p
CREATE DATABASE project_name;
exit
$ ./manage.py migrate
If you would prefer to use a custom project template than the one included in this application, create your custom project template directory and call the command script like this::
django-startproject.py --template-dir=/your/custom/template project_name
Two optional files in the root of the project template directory are used to determine the boilerplate variables:
.startproject_boilerplate
Each line should contain the boilerplate variable (and optionally, a
description of the variable, separated from the variable by white space).
.startproject_defaults
Each line should contain a variable and the default value, separated by
whitespace. If the default value contains PROJECT
, it is replaced with
the project name.
See the files included in the project_template directory of StartProject for an example.