參考:http://www.javashuo.com/article/p-xpmrupkq-cv.htmlhtml
MVC,全名是Model View Controller,是軟件工程中的一種軟件架構模式,把軟件系統分爲三個基本部分:模型(Model)、視圖(View)和控制器(Controller),具備耦合性低、重用性高、生命週期成本低等優勢。python
想要更詳細的瞭解MVC模式? >> 點我web
Django框架的設計模式借鑑了MVC框架的思想,也是分紅三部分,來下降各個部分之間的耦合性。正則表達式
Django框架的不一樣之處在於它拆分的三部分爲:Model(模型)、Template(模板)和View(視圖),也就是MTV框架。數據庫
Model(模型):負責業務對象與數據庫的對象(ORM)django
Template(模版):負責如何把頁面展現給用戶設計模式
View(視圖):負責業務邏輯,並在適當的時候調用Model和Template瀏覽器
此外,Django還有一個urls分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template服務器
參考:https://www.runoob.com/django/django-install.html架構
https://www.djangoproject.com/download/
pip方式安裝:
pip install Django
源碼安裝:
下載源碼包:https://www.djangoproject.com/download/
輸入如下命令並安裝:
tar xzvf Django-X.Y.tar.gz # 解壓下載包 cd Django-X.Y # 進入 Django 目錄 python setup.py install # 執行安裝命令
安裝成功後 Django 位於 Python 安裝目錄的 site-packages 目錄下。
django-admin startproject HelloWorld
項目的目錄結構
$ cd HelloWorld/ $ tree . |-- HelloWorld | |-- __init__.py | |-- settings.py | |-- urls.py | `-- wsgi.py `-- manage.py
目錄說明:
啓動服務器
接下來咱們進入 HelloWorld 目錄輸入如下命令,啓動服務器:
python3 manage.py runserver 0.0.0.0:8000
0.0.0.0 讓其它電腦可鏈接到開發服務器,8000 爲端口號。若是不說明,那麼端口號默認爲 8000。
在瀏覽器輸入你服務器的 ip(這裏咱們輸入本機 IP 地址: 127.0.0.1:8000) 及端口號,若是正常啓動,輸出結果以下:
在先前建立的 HelloWorld 目錄下的 HelloWorld 目錄新建一個 view.py 文件,並輸入代碼:
from django.http import HttpResponse def hello(request): return HttpResponse("Hello world ! ")
接着,綁定 URL 與視圖函數。打開 urls.py 文件,刪除原來代碼,將如下代碼複製粘貼到 urls.py 文件中:
from django.conf.urls import url from . import view urlpatterns = [ url(r'^$', view.hello), ]
整個目錄結構以下:
$ tree
. |-- HelloWorld | |-- __init__.py | |-- __init__.pyc | |-- settings.py | |-- settings.pyc | |-- urls.py # url 配置 | |-- urls.pyc | |-- view.py # 添加的視圖文件 | |-- view.pyc # 編譯後的視圖文件 | |-- wsgi.py | `-- wsgi.pyc `-- manage.py
完成後,啓動 Django 開發服務器,並在瀏覽器訪問打開瀏覽器並訪問:
咱們也能夠修改如下規則:
from django.urls import path from . import view urlpatterns = [ path('hello/', view.hello), ]
經過瀏覽器打開 http://127.0.0.1:8000/hello,輸出結果以下:
注意:項目中若是代碼有改動,服務器會自動監測代碼的改動並自動從新載入,因此若是你已經啓動了服務器則不需手動重啓。
Django path() 能夠接收四個參數,分別是兩個必選參數:route、view 和兩個可選參數:kwargs、name。
語法格式:
path(route, view, kwargs=None, name=None)
route: 字符串,表示 URL 規則,與之匹配的 URL 會執行對應的第二個參數 view。
view: 用於執行與正則表達式匹配的 URL 請求。
kwargs: 視圖使用的字典類型的參數。
name: 用來反向獲取 URL。
Django2. 0中可使用 re_path() 方法來兼容 1.x 版本中的 url() 方法,一些正則表達式的規則也能夠經過 re_path() 來實現 。
from django.urls import include, re_path urlpatterns = [ re_path(r'^index/$', views.index, name='index'), re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'), re_path(r'^weblog/', include('blog.urls')), ... ]
參考連接:http://www.javashuo.com/article/p-xpmrupkq-cv.html
建立項目:
django-admin startproject mysite
啓動項目: 啓動項目的時候,須要切換到mysite目錄下
python manage.py runserver #默認使用8000端口
命令後面還能夠指定參數:
python manage.py runserver 8888 #8888爲新指定的端口 python manage.py runserver 127.0.0.1:8000 #還能夠指定IP和端口,冒號分割
一個Django項目能夠分爲不少個APP,用來隔離不一樣功能模塊的代碼。
命令行建立:
python manage.py startapp app01
執行命令後,項目目錄下多出一個app01的文件夾,目錄結構以下:
app01/ migrations __init__.py __init__.py admin.py apps.py models.py tests.py views.py
Pycharm建立:
可使用PyCharm的manage.py工具來執行命名。在主菜單欄中選擇Tools,在下拉菜單中選擇Run manage.py task,會出現以下圖所示的工具對話框:
在彈出的命令窗口中直接輸入下面的命令即可建立app:
使用PyCharm的manage.py工具執行命令時,只用輸入命令及參數便可,再也不輸入python manage.py了。
輸入以上命令後,根據提示輸入用戶名、郵箱、密碼、確認密碼。密碼的要求至少是不八位,不能和郵箱太接近,兩次密碼須要一致。