首先要安裝Python
先確認一下目前的環境之前有沒有安裝過
python3 --version
如果沒有,可以到這裡按照環境教學安裝
確認你安裝好3.4.1以上的版本
為了避免與其他語言或本機設定產生干擾
建議運作在虛擬環境(virtual environment)內
先新增一個Django專用的目錄
$ mkdir django
$ cd django
接著用這個指令 (Mac)
$ python3 -m venv first_env
$ . first_env/bin/activate
(first_env) user_name:django Username$
當你看到最後一行前面出現(first_env)
就是成功了!
當然這也可以替換為任何你喜歡的小寫名稱,不過盡量保持簡短
(first_env) $ pip install django==1.6.6
注意是兩個等號
如果有出現Successfully installed django
就是安裝成功了!
事情進行得比我想像中還要順利
現在我們來新增一個名為mysite的專案
(first_env) $ django-admin.py startproject mysite .
這樣就會產生一個新的資料夾,裡面有預設的檔案
先別急著切進資料夾內
預設的資料庫為sqlite3,我們先把資料庫建起來
(first_env) $ python manage.py syncdb
...
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
如果是第一次安裝,他會要你設定一個超級管理員帳號
預設username是你的電腦名稱
還需要一組密碼
接下來我們就可以叫起server囉
(first_env) $ python manage.py runserver
如果訪問 http://localhost:8000
你現在就可以看到
跟phoenix與rails比起來,這個初始頁面還蠻陽春的
老樣子 control + c
可以離開
雖然伺服器已經起來了
但如果今天就停在這邊,我覺得對不起自己的自尊心
所以我們會繼續下去
首先我們來建立一個名為blog的app
在django會將不同功能稱呼為app
一個網站下會有多種不同的功能,例如:會員管理、相簿、交易等等
(first_env) $ python manage.py startapp blog
建立之後,必須在之前mysite的setting file註冊這個app
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
)
Django沒有scaffolding工具,所以我們必須一步一步自己來
首先打開blog/models.py
,把裡面清空然後複製貼上下面的code
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
class Post(models.Model):
author = models.ForeignKey(User)
title = models.CharField(max_length=200)
text = models.TextField()
created_date = models.DateTimeField(
default=timezone.now)
published_date = models.DateTimeField(
blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
然後再執行一次:
(first_env) $ python manage.py syncdb
就會新增對應的model到資料庫當中
打開blog/admin.py
,並且複製貼上下面的內容:
from django.contrib import admin
from .models import Post
admin.site.register(Post)
接著再把你的伺服器打開
拜訪 http://localhost:8000/admin
這個時候他會需要你登入剛剛創建的帳號密碼
登入後,你就可以開始使用看起來簡陋但是基本功能完善的Admin功能囉
試著編輯一下資料吧!