摘要:一項(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é)尾符$和/
定義:使用了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查找TemplatesDjango按照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ù)
命令行中進(jìn)入manage.p同級(jí)目錄執(zhí)行python manage.py makemigrations app_name(可選),再執(zhí)行python manage.py migrate
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.py中import 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 ShellPython的交互式命令行程序,它自動(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
摘要:一項(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...
摘要:一項(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...
摘要:大學(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)...
閱讀 3264·2023-04-26 01:31
閱讀 1904·2023-04-25 22:08
閱讀 3455·2021-09-01 11:42
閱讀 2833·2019-08-30 12:58
閱讀 2176·2019-08-29 18:31
閱讀 2439·2019-08-29 17:18
閱讀 3070·2019-08-29 13:01
閱讀 2559·2019-08-28 18:22