Django是1.11,Python3.6,Mac OS

中英文混杂,主要为为自己记录用,时间有限,见谅。


Create Dev Directory for general project storage

$cd ~/projects

$mkdir Dev && cd Dev

Create Virtual Environment

$mkdir project_name && cd project_name

$pip install virtualenv virtualenvwrapper

$mkdir ~/.venvs

$export WORKON_HOME=~/.venvs

$export PATH=/Library/Frameworks/Python.framework/Versions/3.6/bin:$PATH

$source /Library/Frameworks/Python.framework/Versions/3.6/bin/virtualenvwrapper.sh

$mkvirtualenv —python=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 project_name

To activate project_name virtual env:

$workon project_name

To deactivate project_name, just

$deactivate



Install Django & Start Project

$pip install django==1.11.4

$mkdir src && cd src

$django-admin startprojectproject_name.

(Don’t forget the “.” )

Create New Settings Module

Currently working in ./src

$cd project_name

$mkdir settings && cd settings

Change BASE_DIR in settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

To

BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

Move default settings.py into new settings module and rename settings.py to base.py

$mv settings.py ./settings/base.py

$cd settings/

Copy base.py to make new (local.py, dev.py & pro.py) files:

$cp base.py local.py

$cp base.py dev.py

$cp base.py pro.py

To use local.py as our starting point since we use sqlite3 database. We will move to dev.py with development is going forward and finally pro.py when we decide to release our product.

In local.py use the following settings.


from.baseimport*DEBUG=TrueALLOWED_HOSTS=[]DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':os.path.join(BASE_DIR,'db.sqlite3'),}}

Remove the related contents from base.py accordingly.

Edit manage.py and replace os.environ.setdefault("DJANGO_SETTINGS_MODULE", “project_name.settings") with os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.local")



Or you can set env variable:

$export DJANGO_SETTINGS_MODULE =project_name.settings.local

Or you can directly run manage.py with settings options.e.g:

$python manage.py runserver —settings=project_name.settings.local

$python manager.py createsuperuser (to create a super user account)

Openhttp://127.0.0.1:8000/, you should see the successful message.

You also can loginhttp://127.0.0.1:8000/adminusing the super user. There you can create and update groups and users.

You can use pip freeze to save a list for installed packages.

$pip freeze > requirements.txt

(You can use $pip install-r requirements.txt to install all the packages for dependency)