用到的一些html顯示頁面的方法
![%KXHEX(G[]YNTROI]_FOJYQ.png](http://upload-images.jianshu.io/upload_images/1516470-dc01a4dc1d513598.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
數(shù)據(jù)庫操作的一些命令和方法:
首先新建項目:在虛擬機環(huán)境下 workon zqxt
cd + 目錄
django-admin startproject projectname #新建項目
cd projectname #進入項目
django-admin startapp appname #創(chuàng)建一個應用
將appname添加到setting.py中告訴django有這么一個應用
在models中書寫代碼新建開一個類
![XGUEWE%SHH$IMI](Q_CC]YB.png](http://upload-images.jianshu.io/upload_images/1516470-92c3e31e50e1373b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w
/1240)
同步數(shù)據(jù)庫命令
python manage.py makemigrations
python manage.py migrate
然后進入shell進行編輯
python manage.py shell
方法:
創(chuàng)建對象的方法
Person.objects.create(name=name,age=age)
p = Person(name="WZ", age=23)
p.save()
p = Person(name="TWZ")
p.age = 23
p.save()
Person.objects.get_or_create(name="WZT", age=23)
這種方法是防止重復很好的方法温峭,但是速度要相對慢些售躁,返回一個元組不同,第一個為Person對象刁品,第二個為True或False, 新建時返回的是True, 已經(jīng)存在時返回False.
獲取對象的方法
Person.objects.all()
Person.objects.all()[:10] 切片操作,獲取10個人拯钻,不支持負索引赫粥,切片可以節(jié)約內(nèi)存
Person.objects.get(name=name)
get是用來獲取一個對象的梢薪,如果需要獲取滿足條件的一些人,就要用到filter
Person.objects.filter(name="abc") # 等于Person.objects.filter(name__exact="abc") 名稱嚴格等于 "abc" 的人
Person.objects.filter(name__iexact="abc") # 名稱為 abc 但是不區(qū)分大小寫宇姚,可以找到 ABC, Abc, aBC匈庭,這些都符合條件
Person.objects.filter(name__contains="abc") # 名稱中包含 "abc"的人
Person.objects.filter(name__icontains="abc") #名稱中包含 "abc",且abc不區(qū)分大小寫
Person.objects.filter(name__regex="^abc") # 正則表達式查詢
Person.objects.filter(name__iregex="^abc")# 正則表達式不區(qū)分大小寫
filter是找出滿足條件的浑劳,當然也有排除符合某條件的
Person.objects.exclude(name__contains="WZ") # 排除包含 WZ 的Person對象
Person.objects.filter(name__contains="abc").exclude(age=23) # 找出名稱含有abc, 但是排除年齡是23歲的