Django中不溜教程(3)快速入門3

@TOC

前言

Django中不溜教程(1)快速入門1對(duì)Django進(jìn)行了介紹捞稿,并搭建起環(huán)境捏顺,完成了最簡(jiǎn)單的一個(gè)視圖訪問指定字符串的操作。
Django中不溜教程(2)快速入門2對(duì)Django中的ORM形式的數(shù)據(jù)庫操作進(jìn)行了初步學(xué)習(xí)国裳,并在命令行中進(jìn)行了新增數(shù)據(jù)演示鬓照。

前兩個(gè)章節(jié)的知識(shí)我們是獨(dú)立學(xué)習(xí)的,接下里這一章節(jié)我們就將前兩個(gè)章節(jié)的基礎(chǔ)上實(shí)現(xiàn)秽之,請(qǐng)求訪問視圖当娱,在視圖上訪問數(shù)據(jù)庫,并且將數(shù)據(jù)庫的數(shù)據(jù)返回給客戶端的瀏覽器上進(jìn)行顯示考榨。如果有遺忘可點(diǎn)擊上面鏈接進(jìn)行復(fù)習(xí)跨细。

在視圖中操作模型

其實(shí)操作很簡(jiǎn)單:
打開視圖文件 views.py文件,引入模型類董虱,然后在處理請(qǐng)求的函數(shù)體中調(diào)用模型的查詢API扼鞋,最后將查詢的結(jié)果指定在response中進(jìn)行返回即可。

#views.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import news


# Create your views here.

def index(request):
    # 模型.objects返回的是一個(gè)Manager對(duì)象
    # Manager包含很多對(duì)模型操作的函數(shù)愤诱,主要是查詢云头,其中all()表示獲取所有的數(shù)據(jù)
    # all()返回的是一個(gè)QuerySet類型的集合
    newsList = news.objects.all()
    return HttpResponse(newsList)

接著等待服務(wù)器重啟之后再次訪問路徑查看效果。發(fā)現(xiàn)我們已經(jīng)可以在訪問的頁面中顯示數(shù)據(jù)庫中的真實(shí)數(shù)據(jù)淫半,當(dāng)然當(dāng)前數(shù)據(jù)顯得形態(tài)丑陋簡(jiǎn)單溃槐,這里可以配置html,css進(jìn)行美化,我們?cè)诋?dāng)前入門demo里不深究科吭,這里還需要使用到模板技術(shù)我們還未接觸昏滴。

admin站點(diǎn)

介紹 admin站點(diǎn)

Django 會(huì)全自動(dòng)地根據(jù)模型創(chuàng)建后臺(tái)界面。包含了管理員賬號(hào)对人,模型對(duì)應(yīng)表的增刪改查谣殊,操作記錄等功能,解放了開發(fā)者需要為一套系統(tǒng)專門開發(fā)一套完整的cms系統(tǒng)牺弄。
比如一個(gè)新聞網(wǎng)站的場(chǎng)景:
Django 產(chǎn)生于一個(gè)公眾頁面和內(nèi)容發(fā)布者頁面完全分離的新聞?lì)愓军c(diǎn)的開發(fā)過程中姻几。站點(diǎn)管理人員使用管理系統(tǒng)來添加新聞、事件和體育時(shí)訊等,這些添加的內(nèi)容被顯示在公眾頁面上蛇捌。Django 通過為站點(diǎn)管理人員創(chuàng)建統(tǒng)一的內(nèi)容編輯界面解決了這個(gè)問題抚恒。

管理界面不是為了網(wǎng)站的訪問者,而是為管理者準(zhǔn)備的络拌。

創(chuàng)建一個(gè)管理員賬號(hào)

運(yùn)行以下命令來創(chuàng)建登陸管理頁面的用戶俭驮。

 python manage.py createsuperuser

接下來根據(jù)提示輸入用戶名,郵箱春贸,密碼混萝,密碼重復(fù)即可。

訪問admin站點(diǎn)

Django admin站點(diǎn)默認(rèn)就是啟用的祥诽,啟動(dòng)服務(wù)器輸入路徑:
http://127.0.0.1:8000/admin/ 進(jìn)行訪問譬圣。

登陸后看到如下頁面:


在這里插入圖片描述

admin站點(diǎn)常用基本配置

加入自定義模型的管理

我們發(fā)現(xiàn)其中默認(rèn)只有Groups和Uers的相關(guān)管理功能,這兩個(gè)主要是負(fù)責(zé)admin站點(diǎn)權(quán)限和管理員管理的雄坪,我們還想要對(duì)我們自己創(chuàng)建的模型對(duì)象進(jìn)行管理。
我們需要對(duì)模型進(jìn)行注冊(cè)動(dòng)作屯蹦。
打開應(yīng)用目錄下的admin.py文件维哈,我們?cè)谶@里通過代碼將模型加入admin站點(diǎn)管理中。

from django.contrib import admin
from myapp.models import news

# Register your models here.
#將模型注冊(cè)到admin站點(diǎn)登澜,以后新增模型如果想要在admin站點(diǎn)中管理也需要注冊(cè)
admin.site.register(news)

帶服務(wù)器重啟之后刷新admin站點(diǎn)阔挠,遍可以查看到news模型的管理,自行進(jìn)行操作體會(huì)一下admin站點(diǎn)功能的便捷之處脑蠕。


在這里插入圖片描述

修改語言和時(shí)區(qū)

當(dāng)前admin站點(diǎn)內(nèi)的文字都會(huì)英文购撼,我們可以通過配置修改語言。
這兩處修改都在項(xiàng)目目錄下的setting.py文件中谴仙,修改LANGUAGE_CODE 和TIME_ZONE

#指定語言為簡(jiǎn)體中文
LANGUAGE_CODE = 'zh-hans'
#指定時(shí)區(qū)為亞洲上海
TIME_ZONE = 'Asia/Shanghai'

總結(jié)

這里我們將manage.py相關(guān)命令和各個(gè)文件功能回顧總結(jié)一下:
manage.py命令

#在項(xiàng)目?jī)?nèi)創(chuàng)建新應(yīng)用
python manage.py startapp myapp
#啟動(dòng)服務(wù)器
python manage.py runserver
 #為模型的改變生成遷移文件
python manage.py makemigrations  myapp
#應(yīng)用遷移文件
python manage.py migrate 
#在django項(xiàng)目?jī)?nèi)進(jìn)入帶有django環(huán)境的終端
python manage.py shell

文件功能

項(xiàng)目目錄文件
__init__.py:表示當(dāng)前文件夾是一個(gè)包迂求,無其他含義。
settings.py:項(xiàng)目的配置文件晃跺,主要有DATABASES數(shù)據(jù)庫配置揩局,INSTALLED_APPS插拔應(yīng)用,LANGUAGE_CODE語言掀虎,TIME_ZONE時(shí)區(qū)凌盯。
urls.py:項(xiàng)目的url路徑映射配置,這里只包含完整路徑中應(yīng)用名稱部分烹玉,并引入各個(gè)應(yīng)用的urls.py
wsgi.py:作為你的項(xiàng)目的運(yùn)行在 WSGI 兼容的Web服務(wù)器上的入口驰怎,目前用不到。

應(yīng)用目錄文件
migrations文件夾:Django自動(dòng)生成的數(shù)據(jù)庫遷移文件二打,它會(huì)根據(jù)這些文件創(chuàng)建修改表县忌,一般不需要我們進(jìn)行操作。
__init__.py:表示當(dāng)前文件夾是一個(gè)包,無其他含義芹枷。
admin.py:在這里進(jìn)行模型注冊(cè)到admin站點(diǎn)管理中衅疙。
apps.py:應(yīng)用程序的元數(shù)據(jù),對(duì)當(dāng)前應(yīng)用的描述配置鸳慈。
models.py:定義模型饱溢,Django會(huì)根據(jù)模型創(chuàng)建表和生成操作表的api
tests.py:?jiǎn)卧獪y(cè)試類
urls.py:配置當(dāng)前應(yīng)用下的視圖與路徑的映射
views.py:配置當(dāng)前應(yīng)用的視圖,試圖用于接受請(qǐng)求走芋,執(zhí)行業(yè)務(wù)邏輯绩郎,產(chǎn)生響應(yīng)


我們通過三章教程演示了最基本的django操作,體會(huì)了他的視圖翁逞,模型與admin站點(diǎn)的功能肋杖,當(dāng)然這些還遠(yuǎn)遠(yuǎn)不夠,接下來我們會(huì)對(duì)常用模塊進(jìn)行深入講解挖函。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末状植,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子怨喘,更是在濱河造成了極大的恐慌津畸,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件必怜,死亡現(xiàn)場(chǎng)離奇詭異肉拓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)梳庆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門暖途,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人膏执,你說我怎么就攤上這事驻售。” “怎么了胧后?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵芋浮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我壳快,道長(zhǎng)纸巷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任眶痰,我火速辦了婚禮瘤旨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘竖伯。我一直安慰自己存哲,他們只是感情好因宇,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著祟偷,像睡著了一般察滑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上修肠,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天贺辰,我揣著相機(jī)與錄音,去河邊找鬼嵌施。 笑死饲化,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吗伤。 我是一名探鬼主播吃靠,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼足淆!你這毒婦竟也來了巢块?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤缸浦,失蹤者是張志新(化名)和其女友劉穎夕冲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裂逐,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年泣栈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卜高。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡南片,死狀恐怖掺涛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疼进,我是刑警寧澤薪缆,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站伞广,受9級(jí)特大地震影響拣帽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜嚼锄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一减拭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧区丑,春花似錦拧粪、人聲如沸修陡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魄鸦。三九已至,卻和暖如春癣朗,著一層夾襖步出監(jiān)牢的瞬間拾因,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工斯棒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盾致,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓荣暮,卻偏偏與公主長(zhǎng)得像庭惜,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子穗酥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容