五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Django框架學習筆記(1)安裝,測試,創(chuàng)建項目,創(chuàng)建應用,建立連接

2020-05-23 19:21 作者:僚機Wingplane  | 我要投稿

????Django是一個高級Python Web框架,鼓勵快速開發(fā)和簡潔實用的設計。它由經(jīng)驗豐富的開發(fā)人員構(gòu)建,可以解決大部分Web開發(fā)的麻煩,因此您可以專注于編寫應用程序而無需重新造輪子。它是免費和開源的。

????使用 Django,只要很少的代碼,Python 的程序開發(fā)人員就可以輕松地完成一個正式網(wǎng)站所需要的大部分內(nèi)容,并進一步開發(fā)出全功能的 Web 服務 Django 本身基于 MVC 模型,即 Model(模型)+ View(視圖)+ Controller(控制器)設計模式,MVC 模式使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為可能。

MVC 與 MTV模型

????MVC 模式(Model–view–controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。

模型(M)- 編寫程序應有的功能,負責業(yè)務對象與數(shù)據(jù)庫的映射(ORM)。

視圖(V)- 圖形界面,負責與用戶的交互(頁面)。

控制器(C)- 負責轉(zhuǎn)發(fā)請求,對請求進行處理。

????MTV 模式本質(zhì)上和 MVC 是一樣的,也是為了各組件間保持松耦合關系,只是定義上有些許不同,MTV 分別是指:

????M 表示模型(Model):編寫程序應有的功能,負責業(yè)務對象與數(shù)據(jù)庫的映射(ORM)。

????T 表示模板 (Template):負責如何把頁面(html)展示給用戶。

????V 表示視圖(View):負責業(yè)務邏輯,并在適當時候調(diào)用 Model和 Template。

????除了以上三層之外,還需要一個 URL 分發(fā)器,它的作用是將一個個 URL 的頁面請求分發(fā)給不同的 View 處理,View 再調(diào)用相應的 Model 和 Template。

安裝Django

? ? 最基礎的方法,在cmd or powershell中輸入?pip install django,如果同一個電腦有多個python版本共存需要注意安裝位置,同時還需要注意python版本要和Django版本對應。

????????另外python3.7不推薦使用Django3.0,在遇到種種問題之后,我退而求其次選擇了Django2.2。

????有一種安裝方法更加簡單,直接用PyCharm的Package管理安裝即可,PyCharm的Package管理還可以用窗口化的方式安裝,升級,降級,卸載python庫,同時還支持創(chuàng)建只屬于改項目的一個虛擬環(huán)境,做到多個python庫版本的共存,可以說是相當可以了,以后也可能會寫篇PyCharm的使用筆記

????安裝完成后在python中輸入import?django,如果沒有報錯安裝就成功了。

? ??

創(chuàng)建Django項目

????同樣,最基礎的方法,在CMD中cd到你想創(chuàng)建項目的目錄,然后在CMD中輸入?django-admin startproject mysite?

????項目mysite建立完成。

????在PyCharm中可以直接新建項目,同時還可以對環(huán)境進行配置。

? ? ????創(chuàng)建完成后會得到這么一個目錄,由于Django的特性,每一個容器(此時的mysite目錄)中的各個項目(此時mysite目錄中的mysite目錄)都可以被看做是一個獨立的純 Python 包,它的名字就是當你引用它內(nèi)部任何東西時需要用到的 Python 包名。 (比如mysite.urls)

????在這個目錄下的各個文件的作用是:

manage.py: 一個讓你用各種方式管理 Django 項目的命令行工具

__init__.py:?一個空文件,告訴 Python 這個目錄應該被認為是一個 Python 包

asgi.py:用于異步Web服務器和應用程序

settings.py:?Django 項目的配置文件

urls.py:?Django 項目的 URL 聲明,就像網(wǎng)站的“目錄”

wsgi.py:?作為你的項目的運行在 WSGI 兼容的Web服務器上的入口

打開Django服務器

????終端中輸入?py manage.py runserver,注意要在容器中開啟(最外層的包含manager.py的文件夾)。

????PyCharm中直接點右上角的三角鍵運行。

????運行成功后打開127.0.0.1:8000,成功鏈接并且出現(xiàn)火箭圖標即為成功。

之前用3.0配置成功的圖

????如果不成功有可能是在此之前有啟動過其他服務器,如apache、tomcat,記得關閉。還是不行則可以換Django端口。

? ? 在CMD中輸入?py manage.py runserver 8080 (其中8080是要更改的端口號)。

創(chuàng)建應用

? ? 首先是應用和項目的定義。應用是一個專門做某件事的網(wǎng)絡應用程序。項目則是一個網(wǎng)站使用的配置和應用的集合。兩者之間是包含和被包含的關系。

????在Django的初始設計中應用是可以直接在之前的mysite中直接作為子模塊設計調(diào)用的,如果在容器中創(chuàng)建應用,它就可以作為頂級模塊導入。

????在容器(最外層mysite文件夾)的CMD中輸入?py manage.py startapp polls 后就新建了名為polls的應用。


????此時訪問網(wǎng)站是無法直接連接到polls應用中的,因此需要在polls下新建一個urls.py文件,同時要把mysite/urls.py 中添加指定我們創(chuàng)建的?polls.urls?模塊。在polls.url中添加view中即將建立的視圖。

polls/urls.py

from django.urls import path
from . import views

app_name = 'polls'
urlpatterns = [
? ?path('', views.index, name='index'),
? ?path('<int:question_id>/', views.detail, name='detail'),
? ?path('<int:question_id>/results/', views.results, name='results'),
? ?path('<int:question_id>/vote/', views.vote, name='vote'),
]

????同時還需要在?mysite/urls.py 文件的 urlpatterns 列表里插入一個 include()把關于polls的訪問指向應用。

mysite/urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
? ?path('polls/', include('polls.urls')),
? ?path('admin/', admin.site.urls),
]

????記得在插入之后保留一個, 不論是否在最后一個,防止下次遺忘。

????函數(shù) path() 具有四個參數(shù),兩個必須參數(shù):route 和 view,兩個可選參數(shù):kwargs 和 name。

????route 是一個匹配 URL 的準則(類似正則表達式)。當 Django 響應一個請求時,它會從 urlpatterns 的第一項開始,按順序依次匹配列表中的項,直到找到匹配的項。

????當 Django 找到了一個匹配的準則,就會調(diào)用view函數(shù),并傳入一個 HttpRequest 對象作為第一個參數(shù),被“捕獲”的參數(shù)以關鍵字參數(shù)的形式傳入。

? ? name 會為你的 URL 取名能使你在 Django 的任意地方唯一地引用它。

????此時如果你在view函數(shù)中定義一個index,index中返回一句話,你就可以訪問127.0.0.1:8000/polls/并且看到了

polls\urls

from django.urls import reverse

def index(request):

????return HttpResponse("Hello, world.you are at the polls index.")


????先到這里吧,還停的挺突然的。分著來吧,打字好累,上課講的就很模糊,自己在官網(wǎng)找了點資料消化了一下,明白了個大概,但可能還是說不清楚,文字表達能力退化的厲害。

????參考文檔:

Django 簡介:https://www.runoob.com/django/django-intro.html

編寫你的第一個 Django 應用:https://docs.djangoproject.com/zh-hans/2.2/intro/tutorial01/

Django框架學習筆記(1)安裝,測試,創(chuàng)建項目,創(chuàng)建應用,建立連接的評論 (共 條)

分享到微博請遵守國家法律
新营市| 新竹市| 女性| 沙田区| 武平县| 松潘县| 沙田区| 余干县| 安阳县| 东山县| 台湾省| 章丘市| 观塘区| 上饶县| 荔波县| 乐亭县| 台中县| 涿鹿县| 泾阳县| 新余市| 四川省| 四子王旗| 武安市| 益阳市| 南投县| 阿拉善右旗| 靖边县| 建湖县| 托克托县| 荔浦县| 根河市| 定南县| 奉贤区| 咸阳市| 共和县| 鄂托克前旗| 乌什县| 循化| 富民县| 宁国市| 来凤县|