步驟一:配置虛擬環(huán)境?
1:pip3 install virtualenv -ihttps://pypi.douban.com/simple
2:pip3:install virtualenvwrapper
創(chuàng)建虛擬環(huán)境? ? ?mkvirtualenv? +虛擬環(huán)境名字
刪除虛擬環(huán)境?? ??rmvirtualenv? ?+?虛擬環(huán)境名稱
進(jìn)入虛擬環(huán)境? ? ?workon +? 虛擬環(huán)境名稱
退出虛擬環(huán)境? ? ?deactivate??
查看當(dāng)前虛擬環(huán)境 workon
查看環(huán)境以安裝的包? pip list
配置環(huán)境變量
vi.bashrc? ?用vi打開bashrc文件
把這三句話貼到最下面
export WORKON_HOME=/home/jiu/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh?
最后使環(huán)境變量生效
source.bashrc?
步驟二:配置開發(fā)環(huán)境:安裝?django? pymysql? ?1:pip?install? django==1.8.2? 夜惭。2: pip?installpymysql
步驟三:創(chuàng)建項(xiàng)目:django-admin startproject? +項(xiàng)目名
步驟四:創(chuàng)建應(yīng)用:python manage.py startapp +應(yīng)用名稱
步驟五:打開項(xiàng)目用pycharm
步驟六:在項(xiàng)目的?setting設(shè)置里面有一個(gè)INSTALLED_APPS? 把我們的應(yīng)用加到末尾
?? ??? ??? ?? 然后修改DATABASES選項(xiàng)
?? ??? ??? ??? ?DATABASES = {
?? ?'default': {
?? ??? ?'ENGINE': 'django.db.backends.mysql',
?? ??? ?'NAME': 'test2',
?? ??? ?'USER': '用戶名',
?? ??? ?'PASSWORD': '密碼',
?? ??? ?'HOST': '數(shù)據(jù)庫服務(wù)器ip,本地可以使用localhost',
?? ??? ?'PORT': '端口邑闲,默認(rèn)為3306',
?? ?}
}
? ? ? ? ? ? ? 然后在有setting里有init的里面加入
import pymysql
pymysql.install_as_MySQLdb()
步驟七:配置數(shù)據(jù)庫(mysql)
步驟八:設(shè)置模型需要兩個(gè)步驟
?? ??? ???? ?? ?1:生成遷移文件? ?python manage.py? makemigrations
?? ??? ??? ?? ? 2:執(zhí)行遷移?? ??? ?? python manage.py migrate? ? ? ? ? ? ??
python? manage.py? shell? ?簡單的測試一下?可以省略?
?? ??? ??? ??? ?? 測試流程:
?? ??? ??? ??? ?? 先導(dǎo)入包:from z import *? ? ? ? ?
?from django.utils import timezone? ??
?from datetime import *? ? ? ? ? ? ? 時(shí)間模塊
?b = Bookinfo()? ? ? ? ? ? ? ? ? ? ? ? ? ??創(chuàng)建一個(gè)實(shí)例對(duì)象
?b.btitle = '射雕英雄傳'?? ??? ??? ?? ? ?往表里的btitle字段添加數(shù)據(jù)浙垫,想要修改的話直接賦值就行
?b.date = datetime(1990,1,10)?? ??往表里的date字段添加數(shù)據(jù)
?b.save()?? ??? ??? ??? ??? ??? ??? ??? ??? ?? ? 保存數(shù)據(jù)
?b = Bookinfo.objects.get(pk=1)? ?查找Bookinfo表里主鍵等于一的圖書信息,
?b.delete()? ? ? ? ? ? ? ? ?刪除圖書信息
objects是Manager默認(rèn)對(duì)象相當(dāng)于管家刨仑,但是定義指定管理器之后他就不會(huì)出現(xiàn)
Manager是Django模型進(jìn)行數(shù)據(jù)庫查詢操作的借口,每個(gè)模型都應(yīng)該有至少一個(gè)管理器
情況一:自定義管理器類中添加額外的方法
情況二:修改管理器返回的原始查詢集:重寫繼承的父類get_queryset()方法
class BookinfoManager(models.Manager):? ? 類名無所謂夹姥,但是繼承父類一定要寫對(duì)
? ? def get_queryset(self)?:?? ??? ??? ??? ??? ??? ??? ?? ? 定義跟父類同樣的方法
?? ??? ?? ? return super(BookinfoManager,self).get_queryset().filter(?isDelete=False)? 篩選isDelete=False的數(shù)據(jù)集再返回給用戶? ? 固定寫法