Django學習 pip install virtualenv 1、安裝虛擬環境 cmd H: cd dir envs virtualenv mytestvirtual cd mytestvirtual/Scripts/activate 啟動虛擬環境 或者 pip install virtualwrapper(管理虛擬環境的) 將envs加入系統環境變量 cd envs workon mytestvirtual 啟動虛擬環境 2、運行虛擬環境,安裝Django *Django項目中,項目的組織結構為:一個項目包含多個應用,一個應用對應一個業務模塊 *示例:創建項目的名稱為 BookManger,創建應用的名稱為Book *在當前用戶的某個目錄下創建項目,這樣不會發生權限問題 3、創建Django項目 在桌面創建項目:cd ~/Desktop/ 創建項目的命令:django-admin startproject BookManger cd ~/Desktop/BookManger/ tree /f 同名文件夾BookManger 文件:manage.py 4、創建Django應用 python manage.py startapp Book 生成 Book應用文件夾 5、pycharm打開BookManger項目 where python 查看虛擬環境的python.exe的絕對路徑 調該欄目的python環境為虛擬環境 6、配置 settings.py 增加我們的Book應用 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 安裝應用 'Book', ] 7、運行 python manage.py runserver python的測試服務器 http://127.0.0.1:8000/ 瀏覽器可以訪問 創建成功 8、使用Django進行數據庫開發 *************************************************************************************** MVT 設計模式中的Model,專門負責和數據庫交互 models.py 由於Model 中內嵌了 ORM框架,所以不需要直接面向數據庫編程 而是定義模型類,通過 模型類和對象 完成數據表的 增刪改查 ORM框架 就是把數據表的行與相應的對象建立關聯,互相轉換,使得數據庫的操作面向對象 *************************************************************************************** *定義模型類 class BookInfo(models.Model): """定義書籍信息的模型類""" #設計name name = models.CharField(max_length=10) class PeopleInfo(models.Model): """定義人物信息的模型類""" name = models.CharField(max_length=10) gender = models.BooleanField() book = models.ForeignKey(BookInfo)#外鍵設置 #models.ForeignKey(BookInfo,on_delete=models.CASCADE) *模型遷移 生成遷移: python manage.py makemigrations *************************************************************************************** Book\migrations\0001_initial.py - Create model BookInfo - Create model PeopleInfo *************************************************************************************** 執行遷移: *********python manage.py migrate********* 生成db.sqlite3 =====================================MYSQL================================== https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 下載whl pip install ***.whl CREATE DATABASE database_name CHARACTER SET UTF8; 指定數據庫的編碼utf8 DATABASES = { # 默認的sqlite3 # 'default': { # 'ENGINE': 'django.db.backends.'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # }', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), # } # 配置mysql 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bookdjango',# 數據庫名字 'HOST': 'localhost', 'PORT': 3306, 'USER': 'root', 'PASSWORD': 'root', } } 輸入python manage.py sqlmigrate appname 0001查看生成的sql語法 如果sql正確,不能新建數據表: 報錯 raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc) 1、修改數據庫的權限,版本5.55 失敗 2、將django的版本安裝2.0 pip install Django==2.0.0 -i https://pypi.douban.com/simple *********python manage.py sqlmigrate Book 0001********* Book app_name應用名稱 0001 migration_name 文件0001_initial.py =====================================MYSQL================================== *操作數據庫 django站點 后台 web訪問 站點:分為 內容發布 和 公共訪問 兩部分 內容發布:網站的管理員復制查看、添加、修改、刪除數據 使用django的管理模塊,需要以下步驟: *管理界面本地化 語言、時間設置 LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' === LANGUAGE_CODE = 'zh-Hans' TIME_ZONE = 'Asia/Shanghai' *創建管理員 python manage.py createsuperuser admin 2018huahua python manage.py runserver *注冊模型類 admin.py # 注冊書籍信息 admin.site.register(BookInfo) # 注冊人物信息 admin.site.register(PeopleInfo) *發布內容到數據庫 *自定義站點管理頁面 models.py 改變部分 class BookInfo(models.Model): """定義書籍信息的模型類""" #設計name name = models.CharField(max_length=10) def __str__(self): """以字符串的形式輸出模型""" return self.name 改變某個類型的站點頁面 models.py class PeopleInfoAdmin(admin.ModelAdmin): """人物信息模型類的站點管理類 web""" list_display = ['id','name','gender','book'] # 注冊書籍信息 admin.site.register(BookInfo) # 注冊人物信息 admin.site.register(PeopleInfo, PeopleInfoAdmin)#注冊人物信息類 和人物站點信息管理類