All Tips

Setup a Mac for Django Web Development

πŸ‘‹ Thanks for reading! Things have changed since this was written, take it with a grain of salt ;)

∞ Create Python Working Environment

∞ Install Homebrew

$ /usr/bin/ruby -e "$(curl -fsSL"

∞ Install Python

# for python2
brew install python
# for python3
brew install python3

∞ Install PIP

#for python2. pip3 comes with python3.
sudo easy_install pip

∞ Install virtual environment

# for python2
pip install virtualenv
# for python 3
pip3 install virtualenv

∞ Setup Project Directory

First create the projects directory.

mkdir django-project
cd django-project

Create a virtual environment. The name venv can be whatever you like.

# for python2
virtualenv venv
# for python3
virtualenv -p python3 venv

Active virtual environment

source venv/bin/activate

Install Django and other needed packages

pip install django
pip install <packages>

To get out of venv


∞ Create Django Site

Activate virtual environment

source venv/bin/activate

Create Django project

django-admin startproject testsite

Create Django app

cd testsite
python startapp myapp

To run code on mac.

python runserver

Go to to see code in action.

∞ Install Mysql

Get mysql from Brew

brew install mysql

Install the components for python.

source venv/bin/activate
pip install mysqlclient

# if you run into errors, you may need to relink openssl in brew.
brew reinstall openssl
brew link --force openssl
# copy and past instructions to terminal and run.

Turn on mysql with brew

brew services start mysql

Create mysql user.

mysqladmin -u root password 'yourpassword'

Access mysql through the command line to create your database.

mysql -u root -p

Create database

CREATE DATABASE my_database;
use my_database;
-- show tables
show tables;
-- show databases
show databases;

Back to the virtual environment, we need to create all the needed project tables. Run:

python makemigrations

Resolve any errors… here would be a good place to use requirements.txt file :)

python migrate

∞ Import MySQL Database From Server

∞ Dump the Dababase on the server.

Login to the server, navigate to where you want to put the dump. Run this.

mysqldump -u root -p --opt databasename > databasename.sql

∞ Copy the Database to Your New Install

Next, on your new install (Mac or other server) you can pull in that database.

# for files
# sudo scp 'user'@'server':path/to/file.txt /path/on/host
# for folders
# sudo scp -r 'user'@'server':path/to/folder /path/on/host

sudo scp 'admin'@'server':~/database.sql ~/Documents/Projects/django-project/

∞ Import the Database

Finally the database can be imported on the new install. You must have already created the database in mysql.

mysql -u root -p hostdatabasename < databasename.sql

∞ Setup Static Files on Development Machine

Replace the line with β€œSTATIC_ROOT” in with

STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

Add the following snippet to the end of your file

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
import settings
if settings.DEBUG == True:
    urlpatterns += staticfiles_urlpatterns()

∞ Save project PIP requirements

Activate the virtual environment and run this to create a listing of required modules.

pip freeze > requirements.txt

∞ Put Project on Github

Create git. Don’t forget to update .gitignore!

$ git init
$ touch .gitignore
$ git add .
$ git status
$ git commit -m 'initial commit'
$ git remote add origin
$ git push -u origin master