在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ 將遺留數(shù)據(jù)庫整合到Django
點(diǎn)擊劫持保護(hù)
安全問題歸檔
Model 類參考
將遺留數(shù)據(jù)庫整合到Django
關(guān)聯(lián)對象參考
內(nèi)建基于類的視圖的API
聚合
Django 中的用戶認(rèn)證
django.contrib.humanize
Django管理文檔生成器
分頁
使用Django輸出CSV
加密簽名
文件儲(chǔ)存API
安全
Django中的測試
國際化和本地化
為Django編寫首個(gè)補(bǔ)丁
條件表達(dá)式
日志
模型元選項(xiàng)
部署靜態(tài)文件
執(zhí)行查詢
使用Django認(rèn)證系統(tǒng)
基于類的視圖
中間件
編寫自定義的django-admin命令
Django 的設(shè)置
格式本地化
數(shù)據(jù)庫訪問優(yōu)化
錯(cuò)誤報(bào)告
基于類的內(nèi)建通用視圖
編寫自定義存儲(chǔ)系統(tǒng)
編寫你的第一個(gè) Django 程序 第3部分
編寫數(shù)據(jù)庫遷移
使用表單
編寫你的第一個(gè) Django 程序 第2部分
編寫你的第一個(gè) Django 程序 第1部分
如何使用會(huì)話
系統(tǒng)檢查框架
新手入門
信號
編寫視圖
如何使用WSGI 部署
編寫你的第一個(gè)Django應(yīng)用,第6部分
常見的網(wǎng)站應(yīng)用工具
Widgets
內(nèi)建的視圖
模型實(shí)例參考
視圖層
Django中的密碼管理
高級教程:如何編寫可重用的應(yīng)用
國際化和本地化
"本地特色"附加功能
TemplateResponse 和 SimpleTemplateResponse
模式編輯器
文件上傳
快速安裝指南
部署 Django
表單 API
表單素材 ( <code>Media</code> 類)
管理文件
其它核心功能
查找 API 參考
表單
Admin
數(shù)據(jù)庫函數(shù)
自定義查找
使用基于類的視圖處理表單
管理操作
開發(fā)過程
編寫你的第一個(gè)Django應(yīng)用,第5部分
進(jìn)行原始的sql查詢
模型層
多數(shù)據(jù)庫
編寫你的第一個(gè) Django 程序 第4部分
Django安全
Django 初探
Django異常
重定向應(yīng)用
按需內(nèi)容處理
管理器
視圖裝飾器
驗(yàn)證器
使用Django輸出PDF
File對象
Django 的快捷函數(shù)
基于類的通用視圖 —— 索引
為模型提供初始數(shù)據(jù)
模板層
URL調(diào)度器
中間件
模型

將遺留數(shù)據(jù)庫整合到Django

雖然Django最適合用來開發(fā)新的應(yīng)用,但也可以將它整合到遺留的數(shù)據(jù)庫中。Django包含了很多工具,盡可能自動(dòng)化解決這類問題。

這篇文章假設(shè)你了解Django的基礎(chǔ)部分,它們在教程中提及。

一旦你的Django環(huán)境建立好之后,你可以按照這個(gè)大致的流程,整合你的現(xiàn)有數(shù)據(jù)庫。

向Django提供你的數(shù)據(jù)庫參數(shù)

你需要告訴Django你的數(shù)據(jù)庫連接參數(shù),以及數(shù)據(jù)庫的名稱。請修改DATABASES設(shè)置,為'默認(rèn)' 連接的以下鍵賦值:

  • NAME
  • ENGINE
  • USER
  • PASSWORD
  • HOST
  • PORT

自動(dòng)生成模型

Django自帶叫做inspectdb的工具,可以按照現(xiàn)有的數(shù)據(jù)庫創(chuàng)建模型。你可以運(yùn)行以下命令,并查看輸出:

$ python manage.py inspectdb

通過重定向Unix標(biāo)準(zhǔn)輸出流來保存文件:

$ python manage.py inspectdb > models.py

這個(gè)特性是一個(gè)快捷方式,并不是一個(gè)確定的模型生成器。詳見inspectdb文檔 。

一旦你創(chuàng)建好了你的模型,把文件命名為models.py,然后把它放到你應(yīng)用的Python包中。然后把應(yīng)用添加到你的INSTALLED_APPS 設(shè)置中。

默認(rèn)情況下,inspectdb創(chuàng)建未被管理的模型。這就是說,模型的Meta類中的managed = False告訴Django不要管理每個(gè)表的創(chuàng)建、修改和刪除:

class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.CharField(max_length=70)
    class Meta:
       managed = False
       db_table = 'CENSUS_PERSONS'

如果你希望Django管理表的生命周期,你需要把managed選項(xiàng)改為 True(或者簡單地把它移除,因?yàn)門rue是默認(rèn)值)。

安裝Django核心表

接下來,運(yùn)行migrate命令來安裝所有所需的額外的數(shù)據(jù)庫記錄,比如后臺(tái)權(quán)限和內(nèi)容類型:

$ python manage.py migrate

測試和調(diào)整

上面就是所有基本的步驟了 —— 到目前為止你會(huì)想要調(diào)整Django自動(dòng)生成的模型,直到他們按照你想要的方式工作。嘗試通過Django數(shù)據(jù)庫API訪問你的數(shù)據(jù),并且嘗試使用Django后臺(tái)頁面編輯對象,以及相應(yīng)地編輯模型文件。