首先利用pyenv等類似軟件,創(chuàng)建python多版本開發(fā)環(huán)境,配置好epel的yum倉庫源。
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都成都活動板房小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站定制營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內容策劃、視覺設計、底層架構、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。前提還要安裝pip:
yum install python-pip
升級pip軟件:
pip install --upgrade pip
一、安裝django:
pip install django==1.8.2
驗證是否安裝成功:
進入python命令行執(zhí)行如下兩條命令:
import django
django.get_version()
二、創(chuàng)建django項目
django-admin startproject 項目名稱
例如:django-admin startproject test1
就在當前目錄自動創(chuàng)建test1目錄且其里面又自動創(chuàng)建相關文件和目錄:
三、數(shù)據(jù)庫配置
編輯./test1/test1/settings.py文件:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
默認是使用的sqlite3數(shù)據(jù)庫,此時先不修改myslq數(shù)據(jù)庫,后面再說如何修改mysql。
四、創(chuàng)建應用
python manage.py startapp 應用名稱
例如:python manage.py startapp bookshop
就會在該test1項目目錄下,又自動創(chuàng)建一個以bookshop的應用名稱為目錄及相關文件:
說明下在bookshop目錄下幾個文件的作用:
admin.py:后臺管理;
__init__.py:表示該父目錄是一個模塊;
migrations:遷移,作用是根據(jù)當前項目的模型類生成數(shù)據(jù)庫腳本,并將數(shù)據(jù)庫腳本映射到數(shù)據(jù)庫中即遷移;該目錄下也有__init__.py表示此目錄也是為一個模塊;
models.py:定義模型類;
tests.py:是django自帶的測試模塊;
views.py:定義視圖函數(shù);
五、編寫模型類
編輯models.py模型類文件:
from django.db import models
# Create your models here.
class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateTimeField()
class HeroInfo(models.Model):
hname = models.CharField(max_length=10)
hgender = models.BooleanField
hcontent = models.CharField(max_length=1000)
hbook = models.ForeignKey(BookInfo)
定義模型類主要作用有二,其一是根據(jù)模型類生成sql語句并創(chuàng)建表,其二模型類可以創(chuàng)建對象,然后基于這個對象就可做各種操作;模型類的對象操作是可以映射到數(shù)據(jù)庫中去執(zhí)行sql語句的,例如insert、update、delete等語句。
六、把應用注冊到項目中
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bookshop',#應用名稱
)
七、生成遷移
python manage.py makemigrations
會生成遷移文件0001_initial.py,為操作數(shù)據(jù)庫做準備。
八、執(zhí)行遷移
python manage.py migrate
注意:在創(chuàng)建應用完成以后,默認會有幾個應用一同會被執(zhí)行遷移,執(zhí)行遷移實際上就是操作數(shù)據(jù)庫。
九、進入django里的shell命令行,進行測試數(shù)據(jù)創(chuàng)建、插入、更新、查詢、刪除等操作
修改模型類test1/bookshop/models.py:
...
class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateTimeField()
def __str__(self):#新增的內容,因為不是數(shù)據(jù)庫變動,所以不做遷移操作
return self.btitle
...
進入django的shell命令行:
python manage.py shell
from bookshop.models import *
from datetime import datetime
#創(chuàng)建數(shù)據(jù)
book = BookInfo()
book.btitle='python'
book.bpub_date = datetime(year=2018,month=10,day=27)
#插入數(shù)據(jù)
book.save()#由于在setting.py文件中,時區(qū)設定問題會出現(xiàn)RuntimeWarning信息
#查詢數(shù)據(jù)
BookInfo.objects.all()
#更新數(shù)據(jù)
book = BookInfo.objects.get(pk=1)#pk表示為主鍵
book.btitle='django'
book.save()
#刪除數(shù)據(jù)
book.delete()
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。