我的操作系統為centos6.5
1 首先選擇django要使用什么數據庫。django1.10默認數據庫為sqlite3,本人想使用mysql數據庫,但為了測試方便順便要安裝一下sqlite開發包。
yum install mysql mysql-devel
#為了測試方便,我們需要安裝sqlite-devel包
yum install sqlite-devel
2 接下來需要安裝Python了,因為Python3已經成為主流,所以接下來我們要安裝Python3,到官網去下載Python3的新版本。本人下載的版本為python3.5.2
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
3 解壓並安裝
# 解壓tar包 tar xf Python-3.5.2.tgz # 進入解壓后的包 cd Python-3.5.2 # 配置安裝信息,我的安裝路徑為/usr/install/python3/ ./configure --prefix=/usr/install/python3/ # 編譯並安裝 make && make install
4 配置PATH環境變量
# 在/ect/profile.d/文件下新建一個文件python3.sh vim /etc/profile.d/python3.sh # 添加下面這句話 export PATH=$PATH:/usr/install/python3/bin/ #然后執行 export PATH=$PATH:/usr/install/python3/bin/
5 默認情況下安裝完Python3.5.2已經安裝了pip,但我想要安裝較新版本的pip
# 下載pip安裝程序 wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py # 安裝pip python3 get-pip.py
6 安裝django
pip install Django
7 安裝mysqlclient,mysqlclient是一個Python3與mysql的連接器。
pip install mysqlclient
至此,Python與django安裝完成!
如何配置mysql為django默認數據庫?
1 創建一個新的project
# 創建一個名為mysite的項目
django-admin startproject mysite
2 進入該project並修改settings配置文件
# 進入該project cd mysite # 修改settings配置文件 vim mysite/settings.py # 找到 DATABASES 屬性 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 將mysql作為django默認數據庫 'NAME':'mysite', # 配置數據庫名稱 'USER':'root', # 數據庫用戶 'PASSWORD':'123456', # 用戶密碼 'HOST':'127.0.0.1', # 配置數據庫服務所在地址,若為空則默認為localhost 'PORT':'3306', # 配置端口 } }
3 django並不會為我們創建數據庫,我們需要手動創建數據庫。
# 啟動數據庫服務 service mysqld start # 登錄數據庫並進入數據庫命令行界面 mysql # 創建一個名為mysite的數據庫。settings文件配置中我們定義了數據庫名稱為mysite mysql>CREATE DATABASE mysite CHARACTER SET=utf8;
# 退出數據庫命令行界面
mysql> quit
4 在mysite項目中新建一個名為polls的app
[root@bogon mysite]# python3 manage.py startapp polls
5 修改polls/models.py文件
# vim polls/models.py # 修改如下: from django.db import models # Create your models here. class student(models.Model): name=models.CharField(max_length=24) school=models.CharField(choices=(('sc01','第一中學'),('sc02','第二中學'),('sc03','第三中學')),max_length=32) sfid=models.IntegerField(primary_key=True,unique=True,) phone=models.IntegerField(blank=True,null=True) emial=models.EmailField(null=True,blank=True) def __str__(self): return self.name
若想理解models.CharField()等方法,可以參考我的文章: django中的model field 。
6 配置settings文件中的INSTALLED_APPS屬性
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'polls.apps.PollsConfig', # 添加該行 ]
7 通知django,polls中的models文件已被修改。
python3 manage.py makemigrations poll
8 (本步驟可略過)如果我們想知道對polls/models.py所進行的修改映射到數據庫中會如何操作,可使用如下命令:
python3 manage.py sqlmigrate polls 0001
9 將對models文件進行的修改映射到數據庫中
python manage.py migrate
10 (本步驟可省略)如果想要在admi界面對自定義的模型進行增刪查改,需要在對app下的admin.py文件進行修改。
from .models import student # 對student模型進行登記 admin.site.register(student)
完成