成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【連載】Django入門到實(shí)戰(zhàn)(一)

LeexMuller / 2067人閱讀

摘要:一項(xiàng)目目錄結(jié)構(gòu)介紹與項(xiàng)目進(jìn)行交互的命令行工具集的入口項(xiàng)目管理器目錄項(xiàng)目容器,包含項(xiàng)目的基本配置,目錄名稱不建議修改中聲明模塊的文件,內(nèi)容默認(rèn)為空項(xiàng)目的總配置文件,包含數(shù)據(jù)庫(kù)應(yīng)用時(shí)間等各種配置配置文件,項(xiàng)目中所有地址頁(yè)面都需要我們自己去配置其

一、項(xiàng)目目錄結(jié)構(gòu)介紹

manager.py 與項(xiàng)目進(jìn)行交互的命令行工具集的入口(項(xiàng)目管理器)

MyDjango 目錄:項(xiàng)目容器,包含項(xiàng)目的基本配置,目錄名稱不建議修改

__init__.py Python中聲明模塊的文件,內(nèi)容默認(rèn)為空

settings.py 項(xiàng)目的總配置文件,包含數(shù)據(jù)庫(kù)、Web應(yīng)用、時(shí)間等各種配置

urls.py URL配置文件,Django項(xiàng)目中所有地址(頁(yè)面)都需要我們自己去配置其URL

wsgi.py WSGI(Python Web Server Gateway Interface)Python服務(wù)器網(wǎng)關(guān)接口,Python應(yīng)用與Web服務(wù)器之間的接口

mytest目錄:開(kāi)發(fā)者創(chuàng)建的應(yīng)用

命令行:python manage.py startapp mytest(使用命令行創(chuàng)建應(yīng)用時(shí)需要手動(dòng)將應(yīng)用名添加到settings.py中的INSTALLED_APPS里,應(yīng)用名不能與Python中模塊名相同)

Django服務(wù)器啟動(dòng)命令:python manage.py runserver [端口號(hào)]

二、應(yīng)用目錄結(jié)構(gòu)介紹

migrations 數(shù)據(jù)移植(遷移)模塊

__init__.py Python中聲明模塊的文件,內(nèi)容默認(rèn)為空

admin.py 應(yīng)用的后臺(tái)管理系統(tǒng)的配置

apps.py 應(yīng)用的一些配置,Django-1.9以后自動(dòng)生成

models.py 數(shù)據(jù)模型,使用ORM框架,類似于MVC結(jié)構(gòu)中的Models(模型)

tests.py 自動(dòng)化測(cè)試模塊,Django提供了自動(dòng)化測(cè)試功能,在這里編寫(xiě)測(cè)試腳本(語(yǔ)句)

views.py 執(zhí)行響應(yīng)代碼和邏輯處理的主要模塊,包含項(xiàng)目中的大部分代碼

三、響應(yīng)頁(yè)面示例

編輯views.py

每個(gè)響應(yīng)對(duì)應(yīng)一個(gè)函數(shù),函數(shù)必須返回一個(gè)響應(yīng),函數(shù)必須存在一個(gè)參數(shù),一般約定為request,每一個(gè)響應(yīng)(函數(shù))對(duì)應(yīng)一個(gè)URL

編輯urls.py

每個(gè)URL都以u(píng)rl的形式寫(xiě)出來(lái),url函數(shù)放在urlpatterns列表中,url函數(shù)三個(gè)參數(shù):URL(正則)、對(duì)應(yīng)的方法、名稱

四、URL配置

在根urls.py中引入include;在APP目錄下創(chuàng)建urls.py文件,格式與urls.py相同;根urls.py中url函數(shù)第二個(gè)參數(shù)改為include("blog.urls")

注意事項(xiàng):根urls.py針對(duì)APP配置的URL名稱,是該APP所有URL的總路徑; 配置URL時(shí)注意正則表達(dá)式結(jié)尾符$和/

五、Templates介紹

定義:使用了Django模板語(yǔ)言(Django Template Language, DTL)的HTML文件,也可以使用第三方模板(如Jinja2)

5.1 使用步驟

在APP的根目錄下創(chuàng)建名叫Templates的目錄

在該目錄下創(chuàng)建HTML文件

views.py中返回render()

5.2 DTL初步使用

render()函數(shù)中支持一個(gè)dict類型參數(shù),該字典是后臺(tái)傳遞到模板的參數(shù),鍵為參數(shù)名,在模板中使用{{ 參數(shù)名 }}來(lái)直接使用

5.3 Django查找Templates

Django按照INSTALLED_APPS中的添加順序查找Templates,不同APP下Templates目錄中的同名.html文件會(huì)造成沖突

解決Templates沖突方案:在APP的Templates目錄下創(chuàng)建以APP名為名稱的目錄,將html文件放入新創(chuàng)建的目錄下

六、Models介紹

Django中的Models通常是一個(gè)Model對(duì)應(yīng)數(shù)據(jù)庫(kù)的一張數(shù)據(jù)表,Django中的Models以類的形式表現(xiàn),它包含了一些基本字段以及數(shù)據(jù)的一些行為

ORM(Object-Relational Mapping, 對(duì)象關(guān)系映射):實(shí)現(xiàn)了對(duì)象和數(shù)據(jù)庫(kù)之間的映射,隱藏了數(shù)據(jù)訪問(wèn)的細(xì)節(jié),不需要編寫(xiě)SQL語(yǔ)句

6.1 編寫(xiě)Models步驟

在APP根目錄下創(chuàng)建models.py,并引入models模塊

創(chuàng)建類,繼承models.Model,該類即是一張數(shù)據(jù)表

在類中創(chuàng)建字段,字段即類里面的屬性(變量)

attr = models.CharField(max_length = 64) 更多關(guān)于類的字段以及可選參數(shù)

6.2 生成數(shù)據(jù)表:

命令行中進(jìn)入manage.p同級(jí)目錄執(zhí)行python manage.py makemigrations app_name(可選),再執(zhí)行python manage.py migrate

6.3 查看生成的數(shù)據(jù)表

Django會(huì)自動(dòng)在app/migrations/目錄下生成移植文件,執(zhí)行python manage.py sqlmigrate 應(yīng)用名 文件id 查看SQL語(yǔ)句

默認(rèn)sqlite3的數(shù)據(jù)庫(kù)在項(xiàng)目根目錄 下db.sqlite3

6.4 前端頁(yè)面呈現(xiàn)數(shù)據(jù)

views.pyimport models

article = models.Article.objects.get(pk=1)

render(request, page, {"article" : article})

模板可直接使用對(duì)象以及對(duì)象的"."操作,如{{ article.title }}

七、Admin介紹

Admin是Django自帶的一個(gè)功能強(qiáng)大的自動(dòng)化數(shù)據(jù)管理界面,被授權(quán)的用戶可直接在Admin中管理數(shù)據(jù)庫(kù),Django提供了許多針對(duì)Admin的定制功能

7.1 配置Admin

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

后臺(tái)登錄地址:http://127.0.0.1:8000/admin/

更改語(yǔ)言為中文:修改settings.py中LANGUAGE_CODE = "zh_Hans"

7.2配置應(yīng)用

在應(yīng)用下admin.py中引入自身的models模塊(或里面的模型類)

編輯admin.py: admin.site.register(models.Article)

7.3 修改數(shù)據(jù)默認(rèn)顯示名稱

Article類下添加一個(gè)方法

根據(jù)Python版本選擇__str__(self)__unicode__(self), return self.title

八、Templates過(guò)濾器

寫(xiě)在模板中,屬于Django模板語(yǔ)言,可以修改模板中的變量從而顯示不同的內(nèi)容

使用方法:{{ value | filter }}, 如{{ list_nums | length }}

過(guò)濾器可疊加:{{ value | filter1 | filter2 | … }}

九、Django Shell

Python的交互式命令行程序,它自動(dòng)引入了我們的項(xiàng)目環(huán)境

使用方法:python manage.py shell

作用:進(jìn)行調(diào)試,測(cè)試一些未知方法

程序員交流群,干貨分享,加我拉你入群。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24303.html

相關(guān)文章

  • 連載Django入門實(shí)戰(zhàn)

    摘要:一項(xiàng)目目錄結(jié)構(gòu)介紹與項(xiàng)目進(jìn)行交互的命令行工具集的入口項(xiàng)目管理器目錄項(xiàng)目容器,包含項(xiàng)目的基本配置,目錄名稱不建議修改中聲明模塊的文件,內(nèi)容默認(rèn)為空項(xiàng)目的總配置文件,包含數(shù)據(jù)庫(kù)應(yīng)用時(shí)間等各種配置配置文件,項(xiàng)目中所有地址頁(yè)面都需要我們自己去配置其 一、項(xiàng)目目錄結(jié)構(gòu)介紹 showImg(https://segmentfault.com/img/remote/1460000016373937?w...

    since1986 評(píng)論0 收藏0
  • 連載Django入門實(shí)戰(zhàn)

    摘要:一項(xiàng)目目錄結(jié)構(gòu)介紹與項(xiàng)目進(jìn)行交互的命令行工具集的入口項(xiàng)目管理器目錄項(xiàng)目容器,包含項(xiàng)目的基本配置,目錄名稱不建議修改中聲明模塊的文件,內(nèi)容默認(rèn)為空項(xiàng)目的總配置文件,包含數(shù)據(jù)庫(kù)應(yīng)用時(shí)間等各種配置配置文件,項(xiàng)目中所有地址頁(yè)面都需要我們自己去配置其 一、項(xiàng)目目錄結(jié)構(gòu)介紹 showImg(https://segmentfault.com/img/remote/1460000016373937?w...

    bang590 評(píng)論0 收藏0
  • 30歲零基礎(chǔ)自學(xué)編程,先學(xué)哪種語(yǔ)言最好?

    摘要:大學(xué),光學(xué)工程研究生畢業(yè),和程序猿完全不搭邊。那怎么辦,試著學(xué)一學(xué)唄,學(xué)習(xí)才是程序猿的天性。所以我在想程序猿是不是都需要新知識(shí)刺激一下,才能保持興奮的頭腦。有句話說(shuō)的很對(duì)程序猿就像好奇的貓,追著毛球的線頭玩,最后一個(gè)毛球在腦袋里攪漿糊。 說(shuō)說(shuō)我自己的經(jīng)歷。211大學(xué),光學(xué)工程研究生畢業(yè),和程序猿完全不搭邊。 畢業(yè)后進(jìn)了成都某國(guó)字頭研究所,在行業(yè)里摸爬滾打了四年,2018年機(jī)緣巧合在家養(yǎng)...

    xietao3 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

LeexMuller

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<