Django學習 之 Django安裝與一個簡單的實例認識

一.Django簡介

1MVCMTV模型

(1)MVC模型

Web服務器開發領域裏著名的MVC模式,所謂MVC就是把Web應用分爲模型(M),控制器(C)和視圖(V)三層,他們之間以一種插件式的、鬆耦合的方式鏈接在一塊兒,模型負責業務對象與數據庫的映射(ORM),視圖負責與用戶的交互(頁面),控制器接受用戶的輸入調用模型和視圖完成用戶的請求,其示意圖以下所示:html

(2)MTV模型

DjangoMTV模式本質上和MVC是同樣的,也是爲了各組件間保持鬆耦合關係,只是定義上有些許不一樣,DjangoMTV分別是值:python

M 表明模型(Model): 負責業務對象和數據庫的關係映射(ORM)linux

T 表明模板 (Template):負責如何把頁面展現給用戶(html)web

V 表明視圖(View):   負責業務邏輯,並在適當時候調用ModelTemplate數據庫

除了以上三層以外,還須要一個URL分發器,它的做用是將一個個URL的頁面請求分發給不一樣的View處理,View再調用相應的ModelTemplateMTV的響應模式以下所示:django

通常是用戶經過瀏覽器向咱們的服務器發起一個請求(request),這個請求回去訪問視圖函數,(若是不涉及到數據調用,那麼這個時候視圖函數返回一個模板也就是一個網頁給用戶),視圖函數調用模型,模型去數據庫查找數據,而後逐級返回,視圖函數把返回的數據填充到模板中空格中,最後返回網頁給用戶。瀏覽器

 

二.Django下載與基本命令

1.Django下載

(1)命令行下載

pip3 install django      # 沒有參數,默認下載最新版本服務器

pip3 install django==1.11.x    # 指定Django的下載版本(如今通常是2.2.*版本)app

若是pip3不行能夠須要安裝pip3或者使用pip函數

運行安裝Django

pip3 install django==2.2.3

查看Django安裝版本:

python3 -m django --version

官網版本使用時間條:

 

Django 版本對應的 Python 版本:

 

(2)pycharm方式安裝

步驟以下圖所示:

2.建立第一個Django項目

(1)命令行建立

下面的命令建立了一個名爲demoDjango 項目:

django-admin startproject demo   #demo爲項目名

root@hsz:/home/hsz/djangodemo# django-admin startproject demo

root@hsz:/home/hsz/djangodemo# ls

demo

root@hsz:/home/hsz/djangodemo# tree demo

demo   #項目根目錄

├── demo  #項目名稱

   ├── __init__.py

   ├── settings.py  #項目配置相關

   ├── urls.py     #url路徑

   └── wsgi.py  #wsgi

└── manage.py     #管理相關

 

1 directory, 5 files

root@hsz:/home/hsz/djangodemo#

(2)pycharm建立

對於linux先找下python3的安裝目錄,若是使用python2開發找到python,以下截圖:

命令:which python3

進入pycharm-file ---> new project ---->選擇Django ---> 配置路徑和項目名稱 ---> 配置環境(默認用系統環境)即在Existing interpreter 中找到環境目錄導入  ----> 點擊create(完成建立)

Location on選擇項目建立的目錄和項目名

項目目錄詳細介紹:

|---mydemo  # 項目的/目錄

    |---mydemo  # 項目目錄

        |---__init__.py

        |---settings.py  # 配置文件

        |---urls.py  # 路由系統 ===> url與視圖的對應關係

        |---wsgi.py  # runserver命令就使用wsgiref模塊作簡單的web server

    |---manage.py  # 管理文件

3.在項目目錄下建立應用

(1)建立app

python3 manage.py startapp app01    #app01app名稱

(2)註冊app

settings.py裏的INSTALLED_APPS列表中,添加註冊app

INSTALLED_APPS最後添加下面一句:

有兩種方法:

aINSTALLED_APPS = [..., "app01', ...]

bINSTALLED_APPS = [..., "app01.apps.App01Config', ...]      # 推薦這種寫法

(3)app目錄結構

以下:

root@hsz:/home/hsz/djangodemo/demo# tree app01

app01             #app名稱

├── admin.py   #Django自帶admin相關

├── apps.py     #app相關

├── __init__.py

├── migrations   #數據模型遷移記錄

   └── __init__.py

├── models.py   #數據映射關係相關

├── tests.py

└── views.py    #業務邏輯視圖相關

 

使用pycharm建立以下:

4.啓動運行Django項目

(1)命令行運行

python manage.py runserver                # 127.0.0.1:8000

python manage.py runserver 80             # 127.0.0.1:80

python manage.py runserver 0.0.0.0:8888   # 0.0.0.0:8888#

注意:要在manage.py同級目錄執行命令

(2)pycharm運行

三.基於Django實現的一個簡單示例

1.url控制器

from django.contrib import admin

from django.urls import path

from app01 import views

 

urlpatterns = [

    path('admin/', admin.site.urls),

    path('timer/', views.timer),

]

 

2.視圖函數

from django.shortcuts import render

 

# Create your views here.

 #編寫視圖函數

def timer(request):

    import datetime

    now_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")

return render(request, "timer.html", {"now_time": now_time})

3.模板文件(timer.html

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>time</title>

</head>

<body>

<h3>當前時間爲:{{ now_time }}</h3>

</body>

</html>

相關文章
相關標籤/搜索