Python Django基礎教程(一)(入門)

HuangZhang_123發表於2017-04-17

Django是比較流程的web框架之一。Django安裝可以直接用pip安裝即可。
環境Windows+py3.5版本+django 1.11
歡迎加入學習交流QQ群:657341423


(CMD下建立)
專案建立:E:\Djtest> django-admin.py startproject Djtest
Djtest自定義專案名稱。
在e盤資料夾Djtest建立檔案為Djtest的專案

App建立:
在Djtest目錄下建立blog應用
E:\Djtest> python manage.py startapp polls
polls自定義app名稱。可以多個app,每個app實際就是一個功能模組
這裡寫圖片描述

注意:如果用python manage.py startapp polls生成app,py檔案開啟方式要用python預設方式,如果更改為其他開啟方式,不會生成app,如用Notepad++為預設方式,這個命名會編輯開啟manage檔案。

執行伺服器:python manage.py runserver
這裡寫圖片描述
預設情況下, runserver 命令在 8000 埠啟動開發伺服器,且僅監聽本地連線。 要想要更改伺服器埠的話,可將埠作為命令列引數傳入:

python manage.py runserver 8080
通過指定一個 IP 地址,你可以告訴伺服器–允許非本地連線訪問。 如果你想和其他開發人員共享同一開發站點的話,該功能特別有用。 0.0.0.0 這個 IP 地址,告訴伺服器去偵聽任意的網路介面。

python manage.py runserver 0.0.0.0:8000
完成這些設定後,你本地網路中的其它計算機就可以在瀏覽器中訪問你的 IP 地址了。



檢視和URL配置
所有均開始於setting檔案。當你執行python manage.py runserver,指令碼將在於manage.py同一個目錄下查詢名為setting.py的檔案。這個檔案包含了所有有關這個Django專案的配置資訊,均大寫: TEMPLATE_DIRS , DATABASE_NAME , 等. 最重要的設定時ROOT_URLCONF,它將作為URLconf告訴Django在這個站點中那些Python的模組將被用到
開啟檔案settings.py你將看到如下:

ROOT_URLCONF = 'Djtest.urls’
相對應的檔案是Djtest/urls.py
可以根據個人情況更換整個專案url檔案


檢視就是我們常說的網頁內容,就是html。首先建立一個view.py檔案
程式碼:這個檔案路徑可以根據自己實際設定,可以放在專案裡面,也可以放在app的資料夾裡面。

from django.http import HttpResponse
def index(request):
    return HttpResponse("Hello, world.")

URL配置,首先在專案和app裡面都可以有url配置檔案,一般而言,專案的url配置整個網站而言的,app的url只針對模組的。
專案的:

from django.conf.urls import url
from polls import views
urlpatterns = [
    url('^$', views.hello),
]

url(’^$’, views.hello):(也就是通常說的是首頁)第一個引數是設定網頁url的路徑,第二個就是指定的檢視檔案。如果在不同路徑的,需要import。當然這是最基礎的配置,後續更多配置後續會介紹。
如果在app裡面也有url.py檔案,就是每個人app都有自己定義的url。就是一個專案url統籌各個app的url,然後每個app的url可自行管理。可以在專案裡面引用:

from django.conf.urls import include, url
from polls import views
urlpatterns = [
    url('^$', views.hello),
    url(r'^polls/', include('polls.urls')),
    url(r'^time/$', views.current_datetime),
]

url(r’^polls/’, include(‘polls.urls’)):這就可以在匯入polls裡面的url設定。
直接看圖:
App的url:
這裡寫圖片描述
專案url:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
執行邏輯:專案將http://127.0.0.1:8000/polls這個路徑分配到app的url裡面去。在app裡面url(r’^$’, views.hello)預設為http://127.0.0.1:8000/polls,通常我們說的首頁的意思。然後time為http://127.0.0.1:8000/polls/time/,再實現細分。

動態url,用正則
這裡寫圖片描述
這裡寫圖片描述


總結:
當訪問 URL /polls/ 時,Django 根據 ROOT_URLCONF 的設定裝載 URLconf 。 然後按順序逐個匹配URLconf裡的URLpatterns,直到找到一個匹配的。 當找到這個匹配 的URLpatterns就呼叫相關聯的view函式,並把 HttpRequest 物件作為第一個引數。

相關文章