1. 程式人生 > >Django學習筆記——背景瞭解及環境搭建

Django學習筆記——背景瞭解及環境搭建

背景瞭解

Django是什麼

  • Django是一個開放原始碼Web應用框架,由Python寫成。採用了MVC的框架模式,即模型M,檢視V和控制器C。

特點

  • 在Django中,控制器接受使用者輸入的部分由框架自行處理,所以 Django 裡更關注的是模型(Model)模板(Template)檢視(Views),稱為MVT模式。
  • Django的主要目的是簡便、快速的開發資料庫驅動,它強調程式碼複用。
  • 物件關係對映 (ORM,object-relational mapping):以Python類形式定義你的資料模型,ORM將模型與關係資料庫連線起來
    ,你將得到一個非常容易使用的資料庫API,同時你也可以在Django中使用原始的SQL語句。
  • URL 分派:使用正則表示式匹配URL,你可以設計任意的URL,沒有框架的特定限定。像你喜歡的一樣靈活。
  • 模版系統:使用Django強大而可擴充套件的模板語言,可以分隔設計、內容和Python程式碼。並且具有可繼承性。
  • 表單處理:你可以方便的生成各種表單模型,實現表單的有效性檢驗。可以方便的從你定義的模型例項生成相應的表單。
  • Cache系統:可以掛在記憶體緩衝或其它的框架實現超級緩衝 -- 實現你所需要的粒度。
  • 會話(session),使用者登入與許可權檢查,快速開發使用者會話功能。
  • 國際化:內建國際化系統,方便開發出多種語言的網站。
  • 自動化的管理介面:不需要你花大量的工作來建立人員管理和更新內容。Django自帶一 個ADMIN site,類似於內容管理系統

MVC

  • 核心: 分層,解耦。
  • 目的: 提高程式的擴充套件性和可維護性。
  • Model(模型)表示應用程式核心(比如資料庫記錄列表)。
  • View(檢視)顯示資料(資料庫記錄)。
  • Controller(控制器)處理輸入(寫入資料庫記錄)。

MVT

  • 核心:解耦
  • 目的:高內聚 低耦合
  • M全拼為Model,與MVC中的M功能相同,負責和資料庫互動,進行資料處理。
  • V全拼為View,與MVC中的C功能相同,接收請求,進行業務處理,返回應答。
  • T全拼為Template,與MVC中的V功能相同,負責封裝構造要返回的html。

環境搭建

基礎環境:ubuntu16.04 + pycharm 2018.2.4 + Firefox

  • 開啟客戶端命令列
    1. 安裝相關
    1)安裝虛擬環境
    pip install virtualenv
    pip install virtualenvwrapper
    2)安裝django1.8.4
    pip install django==1.8.4
    3)安裝pymysql
    pip install pymysql
    4)安裝sqliteman資料庫----用mysql則不需要
    sudo apt-get install sqliteman

    2.虛擬環境相關
    1)建立
    mkvirtualenv 虛擬環境的名字
    2)刪除
    rmvirtualenv 虛擬環境的名字
    3)進入/切換
    workon 虛擬環境的名字
    4)退出
    deactivate
    5)檢視已安裝的包
    pip list
    pip freeze
    6)檢視專案環境
    tree

    3.專案相關
    1)建立專案
    django-admin startproject 專案名
    2)進入專案目錄建立應用APP
    python manage.py startapp 應用名

  • 開啟pycharm設定專案相關
    1.進入setting
    1)修改databases—使用mysql

DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME':"project",
            'HOST':"127.0.0.1",
            "PORT":'3306',
            "USER":'root',
            "PASSWORD":'mysql'
        }
    }

2)修改__init__

import pymysql
pymysql.install_as_MySQLdb()
  • 開啟命令列開啟服務
    python manage.py runserver
  • 開啟web進入127.0.0.1:8000測試

具體操作

1.環境搭建完畢
2.建立資料庫
——客戶端命令列
——進入資料庫環境下
create database 資料庫名 charset=utf8;
3.為資料庫建立模型
——進入model

from django.db import models
class BookInfo(models.Model):
	#——字元——
	btitle = models.CharField(max_length=20)
	#——時間——
	bpub_date = models.DateField()
	#——整型——
	reader = models.Integerfield(max_length=50,default=0)
	#——浮點——
	num = models.FloatField() 
	#——精確浮點——(總長8,小數位3)
	price=models.DecimalField(max_digits=8,decimal_places=3) 
	#——外來鍵——
	user = models.ForeignKey('UserInfo')
	#——列舉——
	 choice=(
       	 	(1,'男人'),
        	(2,'女人'),
        	(3,'其他')
    	)
	lover=models.IntegerField(choices=choice)

4.註冊APP
——進入setting
——找到APPS
——在末尾新增新建立的app

5.遷移
——客戶端命令列
——進入django環境
——找到當前專案
——生成遷移檔案
python manage.py makemigrations
——執行遷移命令
python manage.py migrate

6.檢查
——客戶端命令列
——進入mysql環境
——檢查遷移結果即是否生成表