You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
7.2 KiB

---
layout: post
status: publish
published: true
title: 'การตดตง Django: 101'
author:
display_name: 'sipp11'
date: '2013-10-26'
categories:
- coding
tags: django 101 thai python
---
จรงๆแลวการตดตงกไมไดเดยวครบ แตการตดตงขางลางนจะเปนการตดตงโดยใช `virtualenv`วยซงจะทำให package แยกกนโดยอสระในแตละ project ทเราทำงานครบ เวลาลบกลบงาย เพราะไมเกยวกบระบบเลย จะเปนการตดตงสำหรบแควเราเทาน
* [การตดตง Django สำหรบ OSX](#django-for-osx)
* [การตดตง Django สำหรบ Linux (Debian-based)](#django-for-debian)
### Django for OSX
งทจำเปนตองมอ HomeBrew ถายงไมสามารถตดตงผาน Terminal โดยพมคำสงตามน
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
หลงจากตดตง brew แลว เรากมาเรมลงสงทจำเปนในชตกนคร
$ brew install git mercurial
หลงจากนนกดตง database ตามชอบใจ
าใช MySQL
$ brew install mysql
าใช PostgreSQL
$ brew install postgresql
อมากลงเรองของ python กนตอครบ สงทจำเปนในชตของ python กอตวหาและลง library ทอยเยอะแยะมากมาย
$ sudo easy_install pip
`easy_install` เปน package manager ตวนงของ python ทเดยวกไมอยจะใชนแลวเพราะ `pip` ทำไดกวามากๆ ทเราตองใช `easy_install`นเพราะเราไม package manager อนท `pip`นเลยทเดยวใน OSX กเลยตองใชนลง `pip`อน สวนการใช sudo ผมคดวานาจะเหมาะสมแลวเพราะ `pip`เปน package manager ตวนงไมาทจะตองทำใหแบงตาม user และสงทเราตองทำตอไปคอ เราตองทำตอไปคอ ลง `virtualenv`
$ sudo pip install virtualenv virtualenvwrapper
วนนงลงในระบบกนตอไป เพราะประเดนเราคอแยก แตละ `virtualenv` ตามแตละ project เราจะตองทำให command shell เราร`virtualenv`วยการใสใน `~/.bash_profile`
# python virtualwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
แลวก
$ source ~/.bash_profile
เพอให command shell เรารบสงทเราใสไปครบ เทานเครองของเรากพรอมทจะใชงาน django กนแลว หลงจากนเรากทำการสราง `virtualenv`นคร
$ mkvirtualenv django # จรงๆ จะเปนชออะไรกไดนะครบ ตามใจตรงน
เทานเรากแทบจะเรยกวา เครองเราพรอมกบการใช django แลวครบ ถงเวลาเรมจรงๆแล
$ workon django
(django)$ pip install django
(django)$ mkdir -p project
(django)$ cd project
(django) project$ ./manage.py runserver
เปนอนเสรจสมบรณ
### Django for Debian
จะเปนแคสำหรบ distro ทเปน debian นะครบ เพราะปกตผมกใช debian เปนหลกครบ เชน Debian, Ubuntu, Mint, ... ถาเปน Arch หรอ Fedora หรออยางอนกจะมคำสงตางกนออกไปเลกนอยนะครบ กอนอนกลงโปรแกรมทจำเปนตอช
$ sudo apt-get install build-essential git mercurial python-pip python-dev
นกแลวแตจะใช database อะไรนะคร
* `SQLite`ไมองทำอะไรเพมเต
* `MySQL`
$ sudo apt-get install mysql-server
$ sudo apt-get build-dep python-mysqldb
* `PostgreSQL`
$ sudo apt-get install postgresql
$ sudo apt-get build-dep python-psycopg2
ดตงกนตอ คราวนเป`virtualenv` คร
$ sudo pip install virtualenv virtualenvwrapper
หลงจากนนกองใส `virtualenv` path หนอย เพอใหเราใชงานมนงายๆ
$ vi ~/.bashrc
เพมบรรทดนานลาง
# python virtualwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
จากนนก reload ซกท
$ source ~/.bashrc
จรงๆแลว อาจจะใช `nano` แทน `vi`ไดครบ แตเชอเถอะครบ ถายงไมเคยใช `vi` ลองทนใชแลวจะไมอยากใชอยางอนอกเลย หลงจากนเรากทำการสราง `virtualenv`นคร
$ mkvirtualenv django # จรงๆ จะเปนชออะไรกไดนะครบ ตามใจตรงน
เทานเรากแทบจะเรยกวา เครองเราพรอมกบการใช django แลวครบ ถงเวลาเรมจรงๆแล
$ workon django
(django)$ pip install django
(django)$ mkdir -p project
(django)$ cd project
(django) project$ ./manage.py runserver
เปนอนเสรจสมบรณ