django | 01-構(gòu)建博客目錄

創(chuàng)建blog

進(jìn)入到 manage.py 文件所在的目錄(即項(xiàng)目根目錄)下糙捺,運(yùn)行 pipenv run python manage.py startapp blog 可建立一個(gè) firstblog 應(yīng)用^[https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial01/]盔腔。 創(chuàng)建完畢后可看到目錄結(jié)構(gòu)如下^[https://www.runoob.com/django/django-first-app.html]

image

./這個(gè)目錄為根目錄杰扫,也是項(xiàng)目的容器土思。

這一步只是創(chuàng)建了文件結(jié)構(gòu)杖小,但還沒(méi)有向Django注冊(cè)肆汹,在setting.py中修改INSTALLED_APPS設(shè)置

創(chuàng)建數(shù)據(jù)庫(kù)模型

django 會(huì)把 Python 代碼翻譯成對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)言抡柿,因此我們可以不用直接寫數(shù)據(jù)庫(kù)的語(yǔ)法音念。

模型

每個(gè)模型都是一個(gè)python類,都繼承于 django.db.models.Model宪睹。 我們編輯model都在firstblog/models.py中定義即可

from django.db import models
from django.contrib.auth.models import User

# Create your models here.
# 定義blog的分類
class Category(models.Model):
    name = models.CharField(max_length=100)

# 定義文章標(biāo)簽
class Tag(models.Model):
    name = models.CharField(max_length=100)

# 定義文章扫腺,主要有標(biāo)題硼啤、正文、時(shí)間等
class Post(models.Model):
    title = models.CharField(max_length=70)
    body = models.TextField()
    created_time = models.DateTimeField()
    modified_time = models.DateTimeField()
    excerpt = models.CharField(max_length=200, blank=True)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    tags = models.ManyToManyField(Tag, blank=True)
    author = models.ForeignKey(User, on_delete=models.CASCADE)
  • 定義了一個(gè)名為Category的類斧账,繼承自models.Model類谴返,且該類有個(gè)name屬性
  • 定義了Tag類,有個(gè)name屬性
  • 定義了Post類咧织,有很多屬性嗓袱,其中blank=True表示允許空值。同時(shí)允許==一對(duì)一==的ForeignKey關(guān)聯(lián)關(guān)系习绢,以及==多對(duì)多==的ManyToManyField關(guān)聯(lián)關(guān)系

然后在項(xiàng)目根目錄下運(yùn)行pipenv run python manage.py makemigrationspipenv run python manage.py migrate來(lái)寫入數(shù)據(jù)庫(kù)

django 通過(guò)檢測(cè)應(yīng)用中 migrations 目錄下的文件渠抹,得知我們對(duì)數(shù)據(jù)庫(kù)做了哪些操作,然后它把這些操作翻譯成數(shù)據(jù)庫(kù)操作語(yǔ)言闪萄,從而把這些操作作用于真正的數(shù)據(jù)庫(kù)梧却。
若要查看具體數(shù)據(jù)庫(kù)命令可以pipenv run python manage.py sqlmigrate firstblog 0001來(lái)查看

setting.py顯示數(shù)據(jù)庫(kù)用的是sqlite3。數(shù)據(jù)庫(kù)主要功能就是增刪查改

操作數(shù)據(jù)庫(kù)

pipenv run python manage.py shell打開交互shell

>>> >>> from firstblog.models import Category, Tag, Post
>>> c = Category(name='category Test') # 實(shí)例化
>>> print(c)
Category object (None)
>>> c.save() # 存入數(shù)據(jù)庫(kù)
>>> t = Tag(name='tag test') #實(shí)例化
>>> t.save() #存入數(shù)據(jù)庫(kù)

pipenv run python manage.py createsuperuser用于創(chuàng)建超級(jí)用戶

Tag.objects.all()Tag.objects.get()
其中all會(huì)取出所有符合的败去,而get只會(huì)取1條

  1. get()
  2. 然后重新賦值
  3. 最后save()即可

  1. get()
  2. delete()即可
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末放航,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子圆裕,更是在濱河造成了極大的恐慌广鳍,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吓妆,死亡現(xiàn)場(chǎng)離奇詭異赊时,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)行拢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門祖秒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事竭缝『ィ” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵歌馍,是天一觀的道長(zhǎng)握巢。 經(jīng)常有香客問(wèn)我,道長(zhǎng)松却,這世上最難降的妖魔是什么暴浦? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮晓锻,結(jié)果婚禮上歌焦,老公的妹妹穿的比我還像新娘。我一直安慰自己砚哆,他們只是感情好独撇,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躁锁,像睡著了一般纷铣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上战转,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天搜立,我揣著相機(jī)與錄音,去河邊找鬼槐秧。 笑死啄踊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的刁标。 我是一名探鬼主播颠通,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼膀懈!你這毒婦竟也來(lái)了顿锰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吏砂,失蹤者是張志新(化名)和其女友劉穎撵儿,沒(méi)想到半個(gè)月后乘客,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狐血,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年易核,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了匈织。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缀匕,靈堂內(nèi)的尸體忽然破棺而出纳决,到底是詐尸還是另有隱情,我是刑警寧澤乡小,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布阔加,位于F島的核電站,受9級(jí)特大地震影響满钟,放射性物質(zhì)發(fā)生泄漏胜榔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一湃番、第九天 我趴在偏房一處隱蔽的房頂上張望夭织。 院中可真熱鬧,春花似錦吠撮、人聲如沸尊惰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)弄屡。三九已至,卻和暖如春鞋诗,著一層夾襖步出監(jiān)牢的瞬間琢岩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工师脂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留担孔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓吃警,卻偏偏與公主長(zhǎng)得像糕篇,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子酌心,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345