創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、鹽山網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為鹽山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。小編給大家分享一下在Django開發(fā)中默認(rèn)的數(shù)據(jù)庫是什么,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
數(shù)據(jù)庫是網(wǎng)站開發(fā)中一個重要的部分,在Django開發(fā)中,默認(rèn)的數(shù)據(jù)庫為SQLite,本文將簡單講解后端views.py與SQLite的數(shù)據(jù)交換。一個基本的數(shù)據(jù)庫從創(chuàng)建到使用大概可以分為以下步驟:
在models.py中創(chuàng)建表
在之前創(chuàng)建的Django的app文件夾下,有一個models.py文件,這個文件就是用于創(chuàng)建數(shù)據(jù)庫表的。下面以創(chuàng)建一個名為User的表為例,建立一個存儲用戶信息的表。在models.py中寫入:
class User(models.Model): username = models.CharField(max_length=20,primary_key=True) password = models.CharField(max_length=30) email = models.EmailField() phone = models.CharField(max_length=15)
以上的類名代表了數(shù)據(jù)庫的表名,且這個類繼承了models.Model,在表中指定了四個字段,其中username中的primary_key=True表示將username設(shè)置為主鍵。常用的字段有:
models.CharField # 必須指定max_length參數(shù) models.BooleanField models.EmailField models.FloatField models.IntegerField models.TextField models.URLField
生成相應(yīng)的表
注冊好表之后,接下來需要對settings.py作一些修改,settings.py位于創(chuàng)建的project的目錄下。首先,需要注冊我們創(chuàng)建的app,在settings.py中找到INSTALLED_APPS這一項,添加進(jìn)你創(chuàng)建的app的名字。比如我創(chuàng)建的是名為"mytest"的app,models.py這些文件就在mytest這個目錄下,就在INSTALLED_APPS中添加:"mytest"
由于我們這里使用的是默認(rèn)的SQLite數(shù)據(jù)庫,因此不需要對settings.py中的DATABASES項作修改,如果想要使用其他數(shù)據(jù)庫,這一項需要進(jìn)行修改。
接下來,在含有manage.py的目錄下用命令行分別運行以下命令:
python manage.py makemigrations python manage.py migrate
這時你在models.py中定義的表就會被創(chuàng)建。如果在第一次創(chuàng)建表之后對表進(jìn)行修改,例如增加字段,這時執(zhí)行以上兩個語句時就會出錯,解決方法是在新增加的字段后使用null = True允許字段為空,或者使用default = xxx指定默認(rèn)值
admin可視化管理models
到這里你的表已經(jīng)可以使用了,但是如果你想可視化地對其進(jìn)行操作的話,可以進(jìn)行下列步驟:
首先進(jìn)入app目錄下的admin.py文件,加入:
from mytest import models
admin.site.register(models.User)
這里的mytest就是app的名字,User就是你的表的名字。然后,進(jìn)入manage.py所在目錄,命令行中運行:
python manage.py createsuperuser
創(chuàng)建管理用戶后,運行server,進(jìn)入127.0.0.1:8000/admin便可以管理數(shù)據(jù)庫:
對數(shù)據(jù)庫進(jìn)行操作
在運行Django時,會需要對數(shù)據(jù)庫進(jìn)行增刪改查等操作,下面介紹如何在views.py中對數(shù)據(jù)庫進(jìn)行操作
首先需要導(dǎo)入我們的models:
from mytest.models import User
1.查詢
如果我們想獲取單個對象,比如用戶名為name的用戶信息,我們可以輸入:
user = User.objects.get(username=name)
然后,使用:user.password用于獲取這個對象的其他字段比如密碼
如果我們想判斷某個對象是否存在,我們可以使用:
try: user = User.objects.get(username=name)except User.DoesNotExist: msg = Falseelse: passwd = user.password
如果想進(jìn)行模糊檢索,可以使用User.objects.filter(username__contains=name),其中contains前面是兩個下劃線。User.objects.filter(username__contains=name).filter(password__contains=pass)是“與”條件,“或”條件可以寫成如下:
from django.db.models import Q User.objects.filter(Q(username__contains=name)|Q(password__contains=pass))
2.增加
使用:
obj = User(username=name,password=passwd) obj.save()
來向User表中增添對象
3.刪除
使用:
User.objects.filter(username=name).delete()
或者
user = User.objects.get(username=name) user.delete()
來刪除某個對象
4.更新
使用
user = User.objects.get(username=name) user.password = newpass user.save()
或者
User.objects.filter(username=name).update(password=newpass)
來更新某個對象。
看完了這篇文章,相信你對在Django開發(fā)中默認(rèn)的數(shù)據(jù)庫是什么有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
文章標(biāo)題:在Django開發(fā)中默認(rèn)的數(shù)據(jù)庫是什么-創(chuàng)新互聯(lián)
瀏覽地址:http://jinyejixie.com/article6/ccsgog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站營銷、商城網(wǎng)站、定制網(wǎng)站、網(wǎng)站排名、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容