django來敲門

django有什么樣的開發(fā)優(yōu)勢(shì)

Django是使用python進(jìn)行web開發(fā)的一個(gè)高效開發(fā)框架,具有以下優(yōu)勢(shì):
非常高效的web應(yīng)用搭建
非常高效的web功能處理
完善的ORM操作[程序中的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù)的對(duì)應(yīng)(增刪改查)關(guān)系]
非常強(qiáng)大的表單處理
非常強(qiáng)大的網(wǎng)頁模板視圖[網(wǎng)頁、模板語法(視圖)]
非常強(qiáng)大的路由功能[url地址和處理函數(shù)之間的映射(對(duì)應(yīng))關(guān)系]
硬件性能突破緩存處理

django的安裝

django的安裝與python中其他模塊的安裝類似
即pip install django
若python2與python3共存,嘗試:
pip3 install django
若不行 ,嘗試
python(x) -m pip install django

使用django創(chuàng)建web項(xiàng)目

django-admin startproject xxx

創(chuàng)建好的項(xiàng)目文件結(jié)構(gòu):

例:

django -admin startproject mysite
|-- mysite/             # 項(xiàng)目文件夾[根目錄]
 |-- mysite/              # 根項(xiàng)目(主項(xiàng)目)
       |-- __init__.py          # 模塊文件
       |-- urls.py               # 路由文件[url地址和處理函數(shù)進(jìn)行對(duì)應(yīng)]
       |-- settings.py          # 項(xiàng)目的設(shè)置配置文件
       |-- wsgi.py               # 實(shí)現(xiàn)了wsgi網(wǎng)關(guān)協(xié)議的模塊
|-- manage.py           # 項(xiàng)目的命令管理模塊[不需要修改,直接使用]
項(xiàng)目的啟動(dòng)及訪問

啟動(dòng):python manage.py runserver
這里默認(rèn)使用8000端口
項(xiàng)目啟動(dòng) python manage.py runserver +<自定義端口號(hào)>
web項(xiàng)目發(fā)布之后目標(biāo):數(shù)據(jù)共享——允許其他人訪問我們的網(wǎng)站
指定ip地址和端口,允許通過網(wǎng)絡(luò)地址訪問
python manage.py runserver <ip>:<port>

注意:首先在mysite/mysite/settgins.py配置文件中,修改如下配置
ALLOWSED_HOST=[“*”,]
其次在啟動(dòng)項(xiàng)目時(shí),通過如下命令啟動(dòng)
PS3:web項(xiàng)目發(fā)布之后目標(biāo):數(shù)據(jù)共享——允許其他人訪問我們的網(wǎng)站
指定ip地址和端口,允許通過網(wǎng)絡(luò)地址訪問
python manage.py runserver <ip>:<port>

注意:首先在mysite/mysite/settgins.py配置文件中,修改如下配置
ALLOWSED_HOST=[“*”,]
其次在啟動(dòng)項(xiàng)目時(shí),通過如下命令啟動(dòng)
python manage.py runserver 0.0.0.0:8000
文本顯示:
將settings.py中LANGUAGE_CODE=’en_us’改為‘zh_Hans’

創(chuàng)建視圖界面

在mysite/mysite/目錄下,創(chuàng)建一個(gè)views.py模塊

from django.http import HttpResponse

def index(request):
      return HttpResponse("hello world!")

其次在mysite/mysite/urls.py路由文件中,添加url地址和處理函數(shù)之間的對(duì)應(yīng)關(guān)系

from django.conf.urls import url
from django.contrib import admin

from . import views

urlpatterns=[
          url(r'^admin/',admin.urls),
          url(r'^index/$',views.index,name='index')
]

詳細(xì)分析:
django是模塊管理文件的,所以不同功能的代碼存放在不同的py文件中
路由相關(guān):urls.py
設(shè)置相關(guān):settins.py
頁面視圖:views.py
網(wǎng)頁視圖開發(fā):
導(dǎo)入一個(gè)響應(yīng)對(duì)象模塊:django.http.HttpResoponse
可以通過響應(yīng)模塊,給瀏覽器返回?cái)?shù)據(jù)

def index(request):
      return HttpResponse("hello world!")

路由模塊:urls.py
什么是路由?路由就是從現(xiàn)實(shí)生活中的路由器抽象出來的一個(gè)概念,表示url地址和對(duì)應(yīng)的處理函數(shù)之間 的對(duì)應(yīng)【映射】關(guān)系
路由器:ip地址【請(qǐng)求路徑】--路由器---個(gè)人PC【資源】
路由:url請(qǐng)求路徑--路由--處理函數(shù)
路由:一種映射,一種對(duì)應(yīng),表示的是一種綁定關(guān)系

from django.conf.urls import url[路由對(duì)象:可以綁定一組對(duì)應(yīng)關(guān)系]
urlpatterns=[
#將第一個(gè)參數(shù)路徑和第二個(gè)參數(shù)處理函數(shù)綁定在一起
#請(qǐng)求第一個(gè)路徑的時(shí)候,調(diào)用第二個(gè)參數(shù)[處理函數(shù)]
#第三個(gè)參數(shù)《就是給這個(gè)路由對(duì)象命名》
url(r'^test/$',views.test,name='test'),
]

創(chuàng)建Django項(xiàng)目【伴隨著創(chuàng)建Django項(xiàng)目,會(huì)自動(dòng)查創(chuàng)建根項(xiàng)目】
django-admin startproject myweb
myweb/項(xiàng)目根目錄
    myweb/根項(xiàng)目
    manager.py 命令模塊
進(jìn)入項(xiàng)目根目錄執(zhí)行命令創(chuàng)建子模塊應(yīng)用
django-admin startapp myblog
myweb/項(xiàng)目根目錄
   myblog/子模塊應(yīng)用[子項(xiàng)目]
   myweb/根項(xiàng)目
   manager.py 命令模塊
Django項(xiàng)目文件結(jié)構(gòu)

|-- myweb/         項(xiàng)目根目錄
     |-- myweb/      項(xiàng)目根項(xiàng)目
               |-- __init__.py
               |-- settings.py   配置文件
               |-- urls.py    主路由文件 
               |-- views.py   根項(xiàng)目視圖模塊
               |-- wsgi.py
        |-- myblog/     項(xiàng)目子模塊應(yīng)用[子項(xiàng)目]
               |-- admin.py    后臺(tái)數(shù)據(jù)注冊(cè)模塊
               |-- app.py       子項(xiàng)目描述模塊
               |-- urls.py      子路由文件,需要包含到主路由中使用
               |-- views.py     子項(xiàng)目視圖模塊
               |-- models.py    子項(xiàng)目中的類型定義模塊
        |-- manage.py  命令模塊

項(xiàng)目結(jié)構(gòu):
通過根項(xiàng)目來管理各個(gè)子項(xiàng)目模塊,實(shí)現(xiàn)項(xiàng)目功能的可伸縮性操作

項(xiàng)目開發(fā)原則:

MVC:是一種傳統(tǒng)的流程處理模式,是一種編程思想,主要由數(shù)據(jù)模型model、控制器Controller以及view組成的一個(gè)完成流程處理模式,首先由和用戶直接交互展示的視圖view可以發(fā)起請(qǐng)求,由控制器Controller進(jìn)行請(qǐng)求分發(fā),調(diào)用指定的數(shù)據(jù)處理函數(shù)對(duì)model進(jìn)行增刪改查操作,完成一個(gè)功能的完整處理過程
MVT:mvt處理模式,是在mvc處理模式上,升級(jí)得到一種更加赴俄實(shí)際項(xiàng)目開發(fā)流程的處理思路;在這種處理模式中,將功能比較單一的控制器Controller部分,封裝成了路由,由路由來完成請(qǐng)求的分發(fā)操作【路由是通過配置實(shí)現(xiàn)的】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容