欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

django創(chuàng)建數(shù)據(jù)庫連接的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供南崗網(wǎng)站建設、南崗做網(wǎng)站、南崗網(wǎng)站設計、南崗網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、南崗企業(yè)網(wǎng)站模板建站服務,10多年南崗做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

django創(chuàng)建數(shù)據(jù)庫連接的方法?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热?,讓我們一起來看看吧?/p>

Django鏈接數(shù)據(jù)庫,首先在settings.py文件中進行配置。

首先需要在 DATABASES 中進行配置,代碼如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '[database_name]',
        'USER': '[username]',
        'PASSWORD': '[password]',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

注意第一個ENGINE字段需要進行修改,剛創(chuàng)建時默認為sqlite,由于我使用了mysql所以把它修改為如上所示,另外Django還支持許多別的數(shù)據(jù)庫,可以在External Libraries -> Lib -> site-packages -> django -> db -> backends中查看。第二個字段如果使用了mysql,就只需要把使用的數(shù)據(jù)庫的名字寫進去,而不需要像sqlite那樣寫路徑。

還需要在INSTALLED_APPS 中進行配置,把自己創(chuàng)建的app添加到列表中,這里假設app的名字叫book,則示例代碼如下:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #以上是默認的
    'book',
]

使用Django操作數(shù)據(jù)庫

使用原生的sql語句

在 Django 中使用原生 sql 語句操作其實就是使用 python db api 的接口來操作。需要先安裝pymysql或者 mysqlclient,這兩者都可以驅動mysql的操作,區(qū)別是pymysql是純python實現(xiàn)的,可以和python無縫銜接,mysqlclient底層是用C語言實現(xiàn)的,效率更高,也支持python3。

使用Django操作數(shù)據(jù)庫需要從django.db中導入connection來獲取游標,代碼如下:

from django.db import connection
def get_cursor():
    return connection.cursor()

cursor比較常用的操作有execute()和fetchall()/fetchone(),execute()中寫入sql語句,可以進行增刪改查操作,fetchall()/fetchone()用在cursor.execute("select xxx")語句之后,可以給對象賦值查詢的結果,示例代碼如下:

from django.shortcuts import render
from django.db import connection
def index(request):
    cursor = get_cursor()
    cursor.execute("select id,name,author from book")
    books = cursor.fetchall()
    return render(request, 'index.html', context={'books': books})

使用ORM模型

ORM 模型一般都是放在 app 的 models.py 文件中。每個 app 都可以擁有自己的模型,并且如果這個模型想要映射到數(shù)據(jù)庫中,那么這個 app 必須要放在 settings.py 的 INSTALLED_APP 中進行安裝。示例代碼如下:

from django.db import models
class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100, null=False)
    author = models.CharField(max_length=100, null=False)
    price = models.FloatField(null=False, default=0)

以上便定義了一個模型。這個模型繼承自 django.db.models.Model ,如果這個模型想要映射到數(shù)據(jù)庫中,就必須繼承自這個類。這個模型以后映射到數(shù)據(jù)庫中,表名是模型名稱的小寫形式,為 book_book ,第一個 book 是app的名字,第二個 book 是類的名字。

之后我們在命令行中執(zhí)行下面的兩條命令,就可以把模型映射到數(shù)據(jù)庫中,第一條命令是生成遷移腳本文件,第二條命令是執(zhí)行腳本文件:

python manage.py makemigrations
python manage.py migrate

需要注意的是,在 django 中,如果一個模型沒有定義主鍵,那么將會自動生成一個自動增長的 int 類型的主鍵,并且這個主鍵的名字就叫做 id 因此其實上面Book類中的第一條語句寫與不寫效果是一樣的。下面的代碼聲明了一個 Publisher 類,沒有寫字段id的語句,但是 django 會自動實現(xiàn)這一功能,代碼如下:

class Publisher(models.Model):
    name = models.CharField(max_length=100, null=False)
    address = models.CharField(max_length=100, null=False)

之后在執(zhí)行一次

python manage.py makemigrations
python manage.py migrate

django 就會自動把進行添加或者修改的類進行映射,非常方便。

感謝各位的閱讀!看完上述內容,你們對django創(chuàng)建數(shù)據(jù)庫連接的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。

新聞名稱:django創(chuàng)建數(shù)據(jù)庫連接的方法-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://chinadenli.net/article30/deopso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作、電子商務、移動網(wǎng)站建設、外貿網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設
国产精品欧美激情在线观看| 毛片在线观看免费日韩| 国产精品一区二区三区激情| 亚洲视频偷拍福利来袭| 国产亚洲不卡一区二区| 美女极度色诱视频在线观看| 男女午夜视频在线观看免费| 欧美日韩少妇精品专区性色| 大尺度激情福利视频在线观看| 欧美熟妇喷浆一区二区| 色偷偷偷拍视频在线观看| 亚洲精品国产福利在线| 中文字幕av诱惑一区二区| 91一区国产中文字幕| 蜜臀人妻一区二区三区| 日本精品中文字幕人妻| 日韩成人高清免费在线| 可以在线看的欧美黄片| 国产精品香蕉免费手机视频| 年轻女房东2中文字幕| 成人午夜在线视频观看| 亚洲国产天堂av成人在线播放| 91日韩欧美国产视频| 日韩一区二区三区在线欧洲| 熟女乱一区二区三区四区| 中文字幕在线区中文色| 国产福利一区二区三区四区| 日韩欧美二区中文字幕| 91欧美一区二区三区成人| 精品亚洲一区二区三区w竹菊| 国产精品蜜桃久久一区二区| 免费精品一区二区三区| 91偷拍视频久久精品| 欧美中文日韩一区久久| 日本办公室三级在线观看| 在线观看那种视频你懂的| 欧美黄色黑人一区二区| 国产欧美日产久久婷婷| 亚洲深夜精品福利一区| 中文字幕无线码一区欧美| 91久久国产福利自产拍|