【Django】Django 使用連接串配置數據庫

Django 使用連接串配置數據庫

Django 配置數據庫

修改 settings.pyDATABASES,這里以 mysql 數據庫為例。

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'your_database_name','USER': 'your_database_user','PASSWORD': 'your_database_password','HOST': 'your_database_host','PORT': 'your_database_port',}
}

配置完成后,依次執行如下語句,將數據庫遷移至配置的 mysql 數據庫。

python manage.py makemigrations
python manage.py migrate

Django Shell

Django shell 是一個交互式的 Python 解釋器,能夠應用 Django 項目的模型以及環境變量。

更多信息可以查詢 Django 官方文檔:https://docs.djangoproject.com/en/5.0/ref/django-admin/#shell。

通過如下命令即可進入 Django Shell

python manage.py shell

執行如下語句,即可使用配置的 Mysql 信息,執行相應的 SQL 語句。

from django.db import connection# 使用游標執行 SQL 查詢
with connection.cursor() as cursor:cursor.execute("show tables")rows = cursor.fetchall()# 打印結果
for row in rows:print(row)

輸出結果為

(u'auth_group',)
(u'auth_group_permissions',)
(u'auth_permission',)
...

Django 使用連接串配置數據庫

Django 配置數據庫為連接串,需要使用第三方庫 dj_database_url,第三方庫的文檔地址:https://github.com/jazzband/dj-database-url

配置 Mysql 的連接串格式為:

EngineDjango BackendURL
MySQLdjango.db.backends.mysqlmysql://USER:PASSWORD@HOST:PORT/NAME

實際使用如下,這里的密碼需要使用 urllib 庫轉化為 URL 編碼,否則當密碼中含有特殊字符 # 時會出現 ValueError 的報錯。

# 實際的密碼是:$#@!
ValueError: invalid literal for int() with base 10: '"euansu12356$'

settings.py 中做如下修改。

# mysql://USER:PASSWORD@HOST:PORT/NAME
import dj_database_url
import urllib.parsepassword = "password"
encoded_password = urllib.parse.quote_plus(password)DATABASES = {'default': dj_database_url.parse(f'mysql://username:{encoded_password}@127.0.0.1:3306/database')
}

再次使用 django 提供的 connection 工具,能夠正常連接 Mysql 數據庫并正常執行 SQL

from django.db import connection# 使用游標執行 SQL 查詢
with connection.cursor() as cursor:cursor.execute("show databases")rows = cursor.fetchall()# 打印結果
for row in rows:print(row)

輸出結果為

(u'information_schema',)
(u'560_amoro',)
(u'accept_5g',)
...

這里打印一下配置的數據庫所有連接參數。

# 配置的連接串為  `f'mysql://username:{encoded_password}@127.0.0.1:3306/database?ssl=Flase'`
from django.conf import settings
databases = settings.DATABASES
print(databases)

輸出結果為

{'default': {'ENGINE': 'django.db.backends.mysql', 'ATOMIC_REQUESTS': False, 'CONN_MAX_AGE': 0, 'HOST': '127.0.0.1', 'USER': 'username', 'PASSWORD': 'password', 'OPTIONS': {'ssl': 'Flase'}, 'AUTOCOMMIT': True, 'NAME': 'database', 'TIME_ZONE': None, 'PORT': 3306, 'TEST': {'COLLATION': None, 'CHARSET': None, 'NAME': None, 'MIRROR': None}}}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43772.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度|不同數據系統中的“一致性”(Consistency)含義的區別

“你們的系統能實現強一致性嗎?”作為過去幾年一直在開發流處理系統的從業者,我經常被問到這個問題。我時常想自信地推銷我們的產品,但現實情況是,回答這個問題并不簡單。其中的挑戰并不在于問題本身,而在于 “一致性”…

字節8年經驗之談!好用移動APP自動化測試框架有哪些?

移動App自動化測試框架是為了提高測試效率、降低測試成本而開發的一套工具和方法。好用的移動App自動化測試框架有很多,下面將介紹一些常用的框架,并提供一篇超詳細和規范的文章,從零開始幫助你搭建一個移動App自動化測試框架。 1. Appium&a…

筆記:在Entity Framework Core中使用DeleteBehavior配置外鍵級聯刪除

一、目的: 在Entity Framework Core中,DeleteBehavior枚舉定義了在刪除主實體時如何處理與之關聯的外鍵約束。DeleteBehavior.Cascade是DeleteBehavior枚舉的一個選項,它指定當刪除主實體時,所有具有外鍵引用的相關實體也將被自動…

十大優秀AI人工智能作詞軟件有哪些?

1、妙筆生詞:國內專業智能作詞工具,是一款非常優秀的國內作詞軟件,它可以選擇語言,風格,韻腳一鍵生成歌詞,也可以仿寫歌詞,可以續寫歌詞,可以智能取歌名,找優秀詞句&…

神經網絡識別數字圖像案例

學習資料:從零設計并訓練一個神經網絡,你就能真正理解它了_嗶哩嗶哩_bilibili 這個視頻講得相當清楚。本文是學習筆記,不是原創,圖都是從視頻上截圖的。 1. 神經網絡 2. 案例說明 具體來說,設計一個三層的神經網絡。…

如何找工作 校招 | 社招 | 秋招 | 春招 | 提前批

馬上又秋招了,作者想起以前讀書的時候,秋招踩了很多坑,但是第一份工作其實挺重要的。這里寫一篇文章,分享一些校招社招的心得。 現在大學的情況是,管就業的人,大都是沒有就業的輔導員(筆者見過…

億發512版本更新,看數據駕駛艙、掃碼揀貨、UDI序列號的新功能

如果您正尋求突破傳統業務模式的束縛,希望擁抱數字化轉型帶來的無限可能,我們誠邀您體驗億發軟件。億發專業團隊將為您提供個性化的咨詢和定制服務,幫助您的企業快速適應市場變化,實現業務模式和商業模式的創新。

【騰訊云生成式AI產品解決方案深度分析 2024】

文末有福利! 騰訊云生成式AI產品解決方案 (一) 基于生成式AI的騰訊云產品架構升級 (二) 騰訊云完善的產品矩陣,滿足不同路線客戶需求 1. 路線一 標準軟件 (1) 騰訊樂享AI助手 落地背景及挑戰在企業知識管理、培訓學習、辦公協同場景中,存…

初識C++ | 基本介紹、命名空間、輸入輸出、缺省函數、函數重載、引用、內聯函數、nullptr

基本介紹 C的起源 1979年,當時的 Bjarne Stroustrup 正在?爾實驗室從事計算機科學和軟件?程的研究?作。?對項?中復雜的軟件開 發任務,特別是模擬和操作系統的開發?作,他感受到了現有語?(如C語?)在表達能?、可…

無法定位程序輸入點kernel32.dll ——一鍵修復丟失kernel32.dll方案

無法定位程序輸入點" 錯誤通常發生在 Windows 操作系統中,當一個程序試圖加載一個 DLL(動態鏈接庫)文件中的特定函數,但無法找到該函數的入口點時。kernel32.dll 是 Windows 操作系統中的一個關鍵 DLL 文件,它包含…

Backyard二指夾爪硬件安裝與軟件配置

一、背景 每次要用機械臂做實驗時,都要重新配置好一會,尤其這個Backyard二指夾爪,各種連接線和外接電源。雖然很麻煩,但理清思路后,10分鐘就可以搞定。所以說腦力勞動的效率永遠大于體力勞動,要多想&#…

HiFi音頻pro和普通HiFi音頻

針對那些對音質要求極高、追求專業級音頻表現的用戶,音頻設備公司專門設計了HiFi 音頻Pro系列。它們在設計和性能上更為精細和高級,當然價格通常也會反映其高端定位和專業水準。相比之下,普通HiFi音頻設備雖然也能提供良好的音質,…

設置DepthBufferBits和設置DepthStencilFormat的區別

1)設置DepthBufferBits和設置DepthStencilFormat的區別 2)Unity打包exe后,游戲內拉不起Steam的內購 3)Unity 2022以上Profiler.FlushMemoryCounters耗時要怎么關掉 4)用GoodSky資產包如何實現晝夜播發不同音樂功能 這是…

【北京迅為】《i.MX8MM嵌入式Linux開發指南》-第一篇 嵌入式Linux入門篇-第十八章 Linux編寫第一個自己的命令

i.MX8MM處理器采用了先進的14LPCFinFET工藝,提供更快的速度和更高的電源效率;四核Cortex-A53,單核Cortex-M4,多達五個內核 ,主頻高達1.8GHz,2G DDR4內存、8G EMMC存儲。千兆工業級以太網、MIPI-DSI、USB HOST、WIFI/BT…

Python-找客戶軟件

軟件功能 請求代碼: 填充表格: 可以search全國各個區縣的所有企業信息,過濾手機號、查看是否續存/在業狀態。方便找客戶。 支持定-制-其他引-留-阮*件(XHSS,DYY,KS,Bi-li*Bi-li) V*…

AutoHotKey自動熱鍵(八)腳本快速暫停與重新加載

我們在編輯腳本的時候,可以添加快捷鍵來改變腳本的狀態 ;暫停腳本 F11::Suspend;重置腳本 F12::Reloadreload用來重置腳本 我們可以在腳本開頭加上標簽提示腳本重啟成功 ToolTip, 腳本已經重啟 Sleep, 1000 ToolTip第二個ToolTip是用來關閉提示器用的 這個提示功能一定要寫…

oracle dba常用腳本2

11、表空間實有、現有、使用情況查詢對比 SELECT TABLESPACE_NAME 表空間,TO_CHAR(ROUND(BYTES / 1024, 2), 99990.00) || 實有,TO_CHAR(ROUND(FREE / 1024, 2), 99990.00) || G 現有,TO_CHAR(ROUND((BYTES - FREE) / 1024, 2), 99990.00) || G 使用,TO_CHAR(ROUND(10000 * US…

【開源合規】開源許可證風險場景詳細解讀

文章目錄 前言關于BlackDuck許可證風險對比圖弱互惠型許可證舉個例子具體示例LGPL系列LGPL-2.0-onlyLGPL-2.0-or-laterLGPL-2.1-onlyLGPL-2.1-or-laterLGPL-3.0-onlyLGPL-3.0-or-laterMPL系列MPL-1.0MPL-1.1MPL-2.0EPL系列EPL-1.0EPL-2.0互惠型許可證GPL系列GPL-1.0GPL-2.0GPL-…

常用錄屏軟件,分享這四款寶藏軟件!

在數字化時代,錄屏軟件已經成為我們日常工作、學習和娛樂中不可或缺的工具。無論你是需要錄制教學視頻、游戲過程,還是進行產品演示,一款高效、易用的錄屏軟件都能讓你的工作事半功倍。今天,就為大家揭秘四款寶藏級錄屏軟件&#…

重磅|九科信息完成諾輝領投的B1輪融資,累計融資已達億級

近日,九科信息宣布B1輪融資順利完成。本輪由深圳諾輝嶺南投資管理有限公司領投,深創投索斯福(深圳)私募創業投資基金跟投。 截至本輪,九科信息累計融資達億級。但真正讓九科人驕傲的,并非融資本身&#xff…