1. 程式人生 > >Django2.1入門教程(一)django2.1的安裝和使用

Django2.1入門教程(一)django2.1的安裝和使用

1、Django簡介
Django是使用python語言開發的一套免費開源的後臺web框架,主要為前端html提供後臺資料支援,後臺專案的執行需要依託於伺服器,從而接收前端傳送的請求,後臺予以響應。
Django提供了一個測試伺服器,是執行在本地電腦之上的。
2005年7月份釋出,2008年釋出第一個正式版本。(php:1991年已經出現了。)
Flask和Tornado框架,這兩個框架定製性較高,70%的功能都需要自己實現。
Django:整合的功能比較豐富,許多功能只需要簡單的配置就可以實現了。
2、安裝django框架
pip install Django
3、建立專案
(1)建立專案
django-admin startproject 專案名稱
(2)進入專案根目錄
cd djangotest
(3)建立app
python

manage.py startapp app名稱
4、Django專案目錄結構
在這裡插入圖片描述
第一塊:關於專案配置的。目錄名稱和專案根目錄重名。
settings.py:後臺專案的配置檔案。
urls.py :提供url地址供前端請求。
wsgi.py :用於部署後臺專案到伺服器上用的。
第二塊:關於app應用的。
models.py :用來設定資料庫欄位的,類似於scrapy中的items.py
views.py :後臺的主要邏輯就是在這個檔案中,主要是給url繫結相應的資料處理函式,並返回響應物件。
admin.py :用於配置Django框架提供的一套管理頁面的檔案。
apps.py :主要是對app應用進行配置的檔案。
第三塊:
manage.py

負責管理專案的命令列檔案,專案的啟動,資料庫的生成,app的建立等。
5、專案和app的關係
類似於爬蟲專案和spider之間的關係。一個後臺專案可以管理多個應用,每一個應用分別對應著這個專案的不同模組。
例:一個專案分為:登入註冊、商品資訊、使用者中心、購買這4個模組。在同一個專案中建立4個app應用分別對應這4個模組。
6、編寫路由
路由都在urls檔案裡,它將瀏覽器輸入的url對映到相應的業務處理邏輯。
在這裡插入圖片描述

from base import views
urlpatterns = [
    path('admin/', admin.site.urls),
    #一個url對應一個views.py中的函式。
    #path(url地址,繫結的函式)
    path('index/',views.index)
]

7、編寫業務處理邏輯
業務處理邏輯都在views.py檔案裡。
在這裡插入圖片描述

# django框架在呼叫index的時候,會傳遞過來一個請求物件request賦值給這個形參。
def index(request):
    print(request)
    return HttpResponse('<h1>hello world</h1>')

通過上面兩個步驟,我們將index這個url指向了views裡的index()函式,它接收使用者請求,並返回一個“hello world”字串。
8、註冊app應用
在settings.py檔案中把我們剛才寫的名為’base’的app進行註冊。
在這裡插入圖片描述
9、執行web服務
進入到專案根目錄,輸入命令python manage.py runserver。會出現如下圖所示,如圖我們可以看到使用了本機的8000埠。
在這裡插入圖片描述
此時在瀏覽器中輸入localhost:8000/index,會出現如下圖所示的頁面。
在這裡插入圖片描述
至此,一個最簡單的django編寫的web服務就啟動成功了。

值得注意的是:
建立url規則
①第一種:path(url地址,繫結的函式)
path(‘index/’,views.index)
②第二種:re_path(url地址,繫結的檢視函式)

from django.urls import path,re_path
#第二種:re_path(url地址,繫結的檢視函式)
#django2.0之前的寫法 url('^index$',views.hello),之前的正則表示式寫法過於複雜,所以通過path()進行了簡化。
#^:這個url以xx開頭。
#$:這個url以xx結尾。
re_path(r'^one/$',views.index)

③如果專案中含有多個app,每個app需要設定的url也很多,此時將所有的url都寫在同一個urls.py檔案中就不行了,會讓這個url看起來很亂,很多,不方便程式碼的除錯。此時就需要將每個模組(app應用)放在每個模組的內部。
在這裡插入圖片描述
每個urls.py檔案中寫不同的模組的url。
在這裡插入圖片描述
由於urls.py這個檔案是在建立專案時生成的,所以這個檔案是所有url的總入口,不管url是在哪一個包中設定的,最終都要在這個總入口的urls.py檔案中進行配置。

from django.urls import include
#base/這個地址對映的是base.urls中的urls.py這個檔案
path('base/',include('base.urls')),
#base1/這個地址對映的是base1.urls中的urls.py這個檔案
path('base1/',include('base1.urls')),
#base2/這個地址對映的是base2.urls中的urls.py這個檔案
path('base2/',include('base2.urls')),

開始base的urls配置。

from django.urls import path,re_path
from . import views
#開始配置base這個app應用所對應的url地址。
urlpatterns = [
    path('index/',views.base_index),
    path('list/',views.base_list),
]

在這裡插入圖片描述
開始base的views配置。
在這裡插入圖片描述
開始訪問,訪問時先加上入口地址,再加上模組的具體地址。即127.0.0.1:8000/base/index/。訪問前需先在專案的urls.py中註釋沒有使用的base1,base2的地址。
在這裡插入圖片描述
在這裡插入圖片描述
簡言之,入口地址(可以省略)+模組地址=完整地址。