Django項(xiàng)目創(chuàng)建的圖文教程
1.Django簡(jiǎn)介
Django是基于Python的重量級(jí)開源Web框架
Django采用MVT的軟件設(shè)計(jì)模式,即模型(Model),視圖(View)和模板(Template)
M 表示模型(Model):編寫程序應(yīng)有的功能,負(fù)責(zé)業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)的映射(ORM)
T 表示模板 (Template):負(fù)責(zé)如何把頁(yè)面(html)展示給用戶
V 表示視圖(View):負(fù)責(zé)業(yè)務(wù)邏輯,并在適當(dāng)時(shí)候調(diào)用 Model和 Template

2.搭建Django
使用pycharm創(chuàng)建虛擬環(huán)境
在項(xiàng)目開發(fā)過程中會(huì)下載很多第三方庫(kù),有時(shí)不同項(xiàng)目對(duì)同一個(gè)庫(kù)的依賴版本不同,如果所有項(xiàng)目都使用同一個(gè)Python環(huán)境就會(huì)起沖突不便于管理。因此在實(shí)際開發(fā)中我們會(huì)為每一個(gè)項(xiàng)目都單獨(dú)創(chuàng)建一個(gè)python的虛擬環(huán)境(虛擬環(huán)境會(huì)很好地幫助處理各個(gè)包之間的隔離問題)
最常用的python虛擬環(huán)境管理工具是Virtualenv
我們可以直接使用pycharm工具創(chuàng)建虛擬環(huán)境,只需要在創(chuàng)建項(xiàng)目的時(shí)候勾選創(chuàng)建虛擬環(huán)境即可

按照上述配置創(chuàng)建好項(xiàng)目后會(huì)在當(dāng)前項(xiàng)目根目錄下創(chuàng)建虛擬環(huán)境venv

下載Django
點(diǎn)擊Pycharm左上角中的【文件】|【設(shè)置】,彈出設(shè)置選項(xiàng)窗口

點(diǎn)擊"Python解釋器"中的 + 按鈕

安裝完成后,大家可以看到django已經(jīng)是指定的安裝版本了

在終端上創(chuàng)建Django項(xiàng)目,在虛擬環(huán)境中使用django-admin命令創(chuàng)建一個(gè)項(xiàng)目
django-admin startproject 項(xiàng)目名稱


效果如下所示:
在生成的目錄結(jié)構(gòu)中,venv目錄是虛擬環(huán)境,study_django目錄是項(xiàng)目名稱

3.Django項(xiàng)目目錄及文件說明
在當(dāng)前目錄創(chuàng)建名為study_django的目錄,目錄中的內(nèi)容如下:
study_django/ # 項(xiàng)目根目錄,目錄名可以隨意更換
study_django/ # 項(xiàng)目目錄,python包
__init__.py
asgi.py # 兼容asgi協(xié)議的web服務(wù)器入口文件
settings.py # 項(xiàng)目配置文件
urls.py # 項(xiàng)目根路由文件
wsgi.py # 兼容wsgi協(xié)議的web服務(wù)器入口文件
manage.py # 管理django項(xiàng)目命令行工具| 文件 | 說明 |
| __init__.py | 一個(gè)空文件,告訴Python這個(gè)目錄應(yīng)該被認(rèn)為是一個(gè)Python包 |
| asgi.py | 作為項(xiàng)目運(yùn)行在ASGI兼容的Web服務(wù)器上的入口 |
| settings.py | Django總的配置文件,可以配置APP、數(shù)據(jù)庫(kù)、中間件、模板等諸多選項(xiàng) |
| urls.py | Django默認(rèn)的路由配置文件,可以在其中include其他路徑下的urls.py |
| wsgi.py | Django實(shí)現(xiàn)的WSGI接口的文件,用來處理web請(qǐng)求 |
| manage.py | Django程序執(zhí)行的入口,一個(gè)可以用各種方式管理Django項(xiàng)目的命令行工具 |
4.運(yùn)行項(xiàng)目
創(chuàng)建完項(xiàng)目以后,進(jìn)入到項(xiàng)目根目錄下運(yùn)行如下命令
python manage.py runserver ip:端口
注意Tips:命令不帶ip和端口參數(shù),服務(wù)將默認(rèn)運(yùn)行在127.0.0.1:8000
運(yùn)行命令及運(yùn)行結(jié)果如下所示:


運(yùn)行成功后在瀏覽器訪問http://127.0.0.1:8000/將會(huì)看到Django歡迎頁(yè)面

修改時(shí)區(qū)和語(yǔ)言
上述的歡迎頁(yè)面是英文的,Django框架做了國(guó)際化,我們只需要在study_django/settings中修改如下配置,即可配置好中文和正確的時(shí)區(qū)
# 語(yǔ)言設(shè)置為中午 LANGUAGE_CODE = 'zh-hans' # 時(shí)區(qū)配置為亞洲上海 TIME_ZONE = 'Asia/Shanghai'
再次訪問http://127.0.0.1:8000/,歡迎頁(yè)面如下:

5.創(chuàng)建Django應(yīng)用
在Django項(xiàng)目中,推薦使用應(yīng)用來完成不同模塊的任務(wù)
一個(gè)項(xiàng)目可以包含多個(gè)應(yīng)用,而一個(gè)應(yīng)用也可以在多個(gè)項(xiàng)目中使用
在Django中,每一個(gè)應(yīng)用都是一個(gè)python包,并且遵循著相同的約定和結(jié)構(gòu)
Django 自帶一個(gè)工具,可以幫你生成應(yīng)用的基礎(chǔ)目錄結(jié)構(gòu),這樣你就能專心寫代碼,而不是創(chuàng)建目錄了
項(xiàng)目和應(yīng)用有什么區(qū)別?
簡(jiǎn)單理解為一個(gè)項(xiàng)目即是一個(gè)網(wǎng)站,一個(gè)應(yīng)用就是這個(gè)網(wǎng)站的某一個(gè)功能板塊
如果服務(wù)已經(jīng)啟動(dòng),先按下<Ctrl + c>組合鍵關(guān)閉服務(wù),然后在項(xiàng)目根目錄下運(yùn)行如下命令
python manage.py startapp 應(yīng)用名

效果如下所示:
在生成的目錄結(jié)構(gòu)中,study_django目錄下又多了一個(gè)article目錄

| 文件 | 說明 |
| __init__.py | 一個(gè)空文件,告訴Python這個(gè)目錄應(yīng)該被認(rèn)為是一個(gè)python包 |
| migrations | 執(zhí)行數(shù)據(jù)庫(kù)遷移生成的腳本 |
| admin.py | 配置Django管理后臺(tái)的文件 |
| apps.py | 單獨(dú)配置添加的每個(gè)app的文件 |
| models.py | 創(chuàng)建數(shù)據(jù)庫(kù)數(shù)據(jù)模型對(duì)象的文件 |
| tests.py | 用來編寫測(cè)試腳本的文件 |
| views.py | 用來編寫視圖控制器的文件 |
創(chuàng)建完article應(yīng)用以后,它不會(huì)立即生效,需要在項(xiàng)目配置文件blog/settings.py中激活應(yīng)用
代碼如下所示:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 新增代碼,激活article應(yīng)用
'article.apps.ArticleConfig',
]通常INSTALLED_APPS默認(rèn)包括以下Django自帶的應(yīng)用,這些應(yīng)用被默認(rèn)啟動(dòng)是為了常規(guī)項(xiàng)目提供方便
django.contrib.admin:管理員站點(diǎn)
django.contrib.auth:認(rèn)證授權(quán)系統(tǒng)
django.contrib.contenttypes:內(nèi)容類型框架
django.contrib.sessions:會(huì)話框架
django.contrib.messages:消息框架
django.contrib.staticfiles:管理靜態(tài)文件的框架
到此這篇關(guān)于Django項(xiàng)目創(chuàng)建的示例代碼的文章就介紹到這了,更多相關(guān)Django項(xiàng)目創(chuàng)建內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從零學(xué)Python之入門(二)基本數(shù)據(jù)類型
這是繼“hello world”之后的第二篇入門級(jí)基礎(chǔ)知識(shí),以后這個(gè)系列會(huì)按照入門、進(jìn)階、精通三個(gè)分類進(jìn)行下去,歡迎高手們來拍磚2014-05-05
淺談python多進(jìn)程共享變量Value的使用tips
今天小編就為大家分享一篇淺談python多進(jìn)程共享變量Value的使用tips,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python3爬蟲關(guān)于識(shí)別點(diǎn)觸點(diǎn)選驗(yàn)證碼的實(shí)例講解
在本篇文章里小編給大家整理了關(guān)于Python3爬蟲關(guān)于識(shí)別點(diǎn)觸點(diǎn)選驗(yàn)證碼的實(shí)例講解內(nèi)容,需要的朋友們可以參考下。2020-07-07
python判斷數(shù)字是否是超級(jí)素?cái)?shù)冪
這篇文章主要為大家詳細(xì)介紹了python判斷數(shù)字是否是超級(jí)素?cái)?shù)冪,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟
這篇文章主要介紹了使用Django簡(jiǎn)單編寫一個(gè)XSS平臺(tái)的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
PyQt5實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了用PyQt5開發(fā)一個(gè)簡(jiǎn)易的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
Python實(shí)現(xiàn)命令行通訊錄實(shí)例教程
這篇文章主要介紹怎樣編寫了一段命令行通訊錄的小程序。下面是編寫的思路以及代碼,歡迎感興趣的同學(xué)交流探討。2016-08-08

