Django入門項目創(chuàng)建谆趾、配置
1. Django安裝與使用
1.1 安裝虛擬環(huán)境
1.命令安裝 pip install virtuanenv
(1)創(chuàng)建虛擬環(huán)境:virtualenv -p python e:/...
(2)找到安裝的虛擬環(huán)境下 (我自己的)E:\virtualenv\webenv\Scripts
(3)進入虛擬環(huán)境命令:activate
(4)退出環(huán)境命令:deactivate
1.2 Django安裝
1. pip install django==1.11
2. 查看版本:django-admin --version
3. 在項目文件下創(chuàng)建django :django-admin startproject 項目名稱
3. 啟動項目:python manage.py runserver
1.3 Django的使用與配置
創(chuàng)建項目文件。
在項目文件下創(chuàng)建django :django-admin startproject 項目名稱
在項目名稱目錄下創(chuàng)建子模塊:django-admin startapp 子模塊名稱
在根目錄下的setting文件中叛本,更改編碼以及添加子模塊注冊表:
LANGUAGE_CODE = 'zh-Hans'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'子模塊名稱',
]
- 在子模塊中創(chuàng)建路由文件(建議名稱為 urls.py)
在urls.py文件中導入:
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^index/$', views.index, name='index'),
url(r'^login/$', views.login, name='login'),
url(r'^register/$', views.register, name='register'),
]
備注:from django.conf.urls import url
URL配置(URLconf)就像Django 所支撐網(wǎng)站的目錄沪蓬。它的本質是URL與要為該URL調用的視圖函數(shù)之間的映射表。
你就是以這種方式告訴Django来候,對于這個URL調用這段代碼跷叉,對于那個URL調用那段代碼。
官方介紹:
https://docs.djangoproject.com/en/1.11/topics/http/urls/
- 在子模塊中的views.py文件中導入:
from django.http import HttpResponse
創(chuàng)建各個視圖方法
- 在根目錄文件夾下的urls.py中配置二級路由
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include("blog.urls")),
#在一級路由中配置了二級路由
url(r'^blog/', include("blog.urls")),
]
- 在Django項目目錄下营搅,輸入命令:python manage.py runserver
啟動服務
1.4 Django文件介紹
mysite項目名稱
mysite #根模塊
init.py #包的描述文件
settings.py #項目的配置文件
urls.py #路由匹配文件
wsgi.py #django實現(xiàn)wsgi web網(wǎng)關接口文件云挟,不能動
自定義name #子模塊
migrations #同步數(shù)據(jù)的遷移文件的文件夾
init.py #模塊描述文件
admin.py #后臺管理系統(tǒng)用來管理子模塊中的模型類的文件
views.py #子模塊的視圖文件
urls.py #子模塊的路由文件,自己創(chuàng)建
models.py #定義模型類
tests.py #測試文件
apps.py #定義子模塊項目項的文件
manage.py #項目的管理文件
2. Web軟件的架構
2.1 MVC處理流程
在傳統(tǒng)的web軟件中转质,大多使用MVC的處理流程园欣。
名稱 | 描述 |
---|---|
M(model) 模型 | 類、以及跟數(shù)據(jù)庫相關的代碼 |
V(view) 視圖 | 頁面 |
C(controller)控制器 | 接受參數(shù)休蟹,分發(fā)請求 |
目的:
解耦和沸枯,利于代碼的鍵壯性、擴展性赂弓、維護性
分層管理:
可以使代碼高內聚绑榴、低耦合
l 耦合性:也稱塊間聯(lián)系。指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量盈魁。模塊之間聯(lián)系越緊密翔怎,其耦合性就越強,模塊的獨立性則越差。模塊間耦合高低取決于模塊間接口的復雜性赤套、調用的方式及傳遞的信息
l 內聚性:又稱塊內聯(lián)系飘痛。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量于毙。若一個模塊內各元素(語名之間敦冬、程序段之間)聯(lián)系的越緊密辅搬,則它的內聚性就越高唯沮。
2.2 Django的MVT處理流程
名稱 | 描述 |
---|---|
m表示model | 負責與數(shù)據(jù)庫交互 |
v 表示view | 負責接收請求、獲取數(shù)據(jù)堪遂、返回結果 |
t 表示template | 負責呈現(xiàn)內容到瀏覽器 |