Python系列之-一、Django入門

MVT設計模式

image

  請求訪問流程:HTTP請求通過URL映射器,到達view層,view層能夠從Model層獲取數據,再從Template層取得不變的HTML數據,和Model層取得數據組合,最後返回HttpResponse應答。python

簡單入門教程

建立項目

1. 在終端下,進入準備存放項目的目錄下執行:django-admin startproject myproject,此時,目錄結構爲:
myproject/
	manage.py
	myproject/
		__init__.py
		settings.py
		urls.py
		wsgi.py

其中:
	myproject:項目的根目錄
	manage.py:一個命令行程序,用來管理Django項目
	myproject/settings.py:項目配置
	myproject/urls.py:配置項目的URL映射器
	myproject/wsgi.py:一個WSGI兼容的Web服務器的入口。
複製代碼
2. Django的項目配置信息須要保存到數據庫中,默認使用sqlite3,在myproject/settings.py中設置。

  默認配置以下:mysql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

舉例:MySQL數據庫配置
DATABASES = {
	'default': {
		'ENGINE': 'django.db.backends.mysql',
		'NAME':'djangodb',  # 庫名
		'USER':'root',
		'PASSWORD':'root',
		'HOST':'127.0.0.1',
	}
}

複製代碼

  設置好數據庫的配置文件後,須要執行以下命令初始化數據庫。sql

$ python3 manage.py migrate
複製代碼
3. 建立應用程序

  Django中有項目和應用程序的分別,應用程序能夠理解爲具備特定功能的一些程序,項目能夠包含多個應用程序,例如一個商城,能夠把訂單和商品詳細放在兩個應用程序中,各自負責不一樣的功能。   建立應用程序,在myproject目錄下執行:數據庫

$ python3 manage.py startapp books

整個項目的目錄結構以下:
myproject/
	manage.py
	myproject/
		__init__.py
		settings.py
		urls.py
		wsgi.py
	books/
		__init__.py
		admin.py
		apps.py    # 註冊應用
		models.py  # 模型層
		tests.py   # 測試相關代碼
		views.py   # 視圖層
		migrations/  # 數據庫升級產生的文件存放在此目錄
			__init__.py
複製代碼
4. 第一個Django程序
1)修改myproject/settings.py文件,添加應用程序信息
INSTALLED_APPS = [
    'books.apps.BooksConfig',   # 添加這行信息
}
複製代碼
2) 定義視圖函數:參數是request(HttpRequest),返回值是HttpResponse。

  books/views.py文件django

from django.shortcuts import render
from django.http import HttpResponse

def hello(request):
    return HttpResponse('<h1>你好,世界</h1>')
複製代碼
3) 修改項目的url映射器

  myproject/myproject/urls.py設計模式

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

urlpatterns = [
    path('books/', include(books.urls)),  # 函數
    path('admin/', admin.site.urls),  # 函數
]
複製代碼
4) 增長應用程序下的url映射器

  books/urls.pybash

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello')
]
複製代碼
5) 啓動服務器

  在項目根目錄下執行以下命令:服務器

$ python3 manage.py runserver
複製代碼
6) 訪問http://127.0.0.1:8000/books/hello/,能夠看到你好,世界的頁面。
7) 解釋

  request先到達myproject/myproject/urls.py的項目URL映射器中,根據path('books/', include(books.urls)),匹配books/,而後請求跳轉到books.urls應用程序URL映射器,根據books/urls.py中的path('hello/', views.hello, name='hello'),匹配'hello/',請求跳轉到views.hello這個視圖函數中,views.hello視圖函數處理業務邏輯,返回應答HttpResponse.app

後續再添加view和Model相關知識。

相關文章
相關標籤/搜索