1. 程式人生 > >django初始化

django初始化

django

背景

中文網站:http://djangobook.py3k.cn/ 建議看完1-8章

英文網站:https://docs.djangoproject.com/en/2.0/


框架

Django 緊緊地遵循這種 MVC 模式,可以稱得上是一種 MVC 框架。以下是 Django 中 M、V 和 C 各自的含義:

  • M ,數據存取部分,由django數據庫層處理,本章要講述的內容。

  • V ,選擇顯示哪些數據要及怎樣顯示的部分,由視圖和模板處理。

  • C ,根據用戶輸入委派視圖的部分,由 Django 框架通過按照 URLconf 設置,對給定 URL 調用合適的 python 函數來自行處理。


    由於 C 由框架自行處理,而 Django 裏更關註的是模型(Model)、模板(Template)和視圖(Views),Django 也被稱為 MTV 框架 。在 MTV 開發模式中:

    • M 代表模型(Model),即數據存取層。該層處理與數據相關的所有事務:如何存取、如何確認有效性、包含哪些行為以及數據之間的關系等。

    • T 代表模板(Template),即表現層。該層處理與表現相關的決定:如何在頁面或其他類型文檔中進行顯示。

    • V代表View,業務邏輯層。這一層包含訪問模型的邏輯和按照模板顯示。你可以認為它是模型和模板的橋梁。


    一、Django安裝

    3種方式:

    pip isntall django==版本號 #推薦

    easy_install django #easy_install

    python setup.py install #源碼

    源碼下載

    https://pypi.python.org/pypi/Django

    技術分享圖片

    技術分享圖片


    安裝步驟:

    pip install django==1.6.5

    pip list

    import django

    print(django.get_version())




    二、 創建項目

    1.創建項目

    命令:django-admin.py startproject web #生成子目錄文件

    [root@huangzp3 web]# tree /root/python/web/

    /root/python/web/

    ├── manage.py

    └── web

    ├── __init__.py

    ├── settings.py

    ├── urls.py

    └── wsgi.py


    項目文件說明:

    __init__.py: 定義一個模塊,供import導入調用

    setting.py: 配置文件

    urls.py: 視圖配置文件,相當於MVC的V

    wsgi.py: 一般用於結合apache或者nginx


    2.修改setting.py配置文件的時區和語言

    技術分享圖片技術分享圖片


    3.啟動django

    命令 python manage.py runserver 0.0.0.0:8000


    4.web訪問

    說明:只有工程,沒有應用的頁面

    技術分享圖片技術分享圖片



    三、添加應用

    1.啟動一個應用

    兩種方法:

    python manage.py startapp blog #管理腳本的形式

    django-admin.py startapp blog #添加項目的形式

    技術分享圖片技術分享圖片


    應用文件說明:

    models.py:相當於MVC模式的M,定義數據模型

    views.oy: 相當於MVC中的V,視圖模板

    test.py: 測試用

    admin.py: 管理用


    2.web項目目錄下setting.py中,添加應用blog

    技術分享圖片技術分享圖片


    3.urls.py(屬於MVC模型中的C)文件,添加url,並引用index函數

    技術分享圖片技術分享圖片


    4.在blog應用目錄下,views.py模塊中定義index函數

    說明:先導入django內置模塊;定義的函數必須帶參數(請求),有請求(參數名可自定義)就有返回,返回字符串前,先用httpResponse內置函數處理

    技術分享圖片技術分享圖片



    5.WEB訪問

    技術分享圖片技術分享圖片


    其中自定義的返回:

    技術分享圖片技術分享圖片


    6.自定義web模板目錄

    說明:在應用blog目錄下,創建一個templates目錄,目錄名固定寫死,用於存放web網頁文件,定義index.html

    技術分享圖片技術分享圖片


    7.導入web模板

    應用blog目錄下,views.py文件,先導入模塊

    說明:t是一個對象,自動從template目錄下加載文件;c也是一個對象,上下文Context,替換index.html裏面的標記或者變量,因為寫的index.html中沒有這些,所有暫時定義為空;t的一個方法,渲染c,最後返回;凡是返回到頁面上的,都要通過HttpResponse()

    技術分享圖片技術分享圖片


    8.關閉進程,再次啟動,查看網頁

    命令 python manage.py runserver 0.0.0.0:8000

    技術分享圖片技術分享圖片





    四、定義數據模型

    MVC中的V就是應用下的views.py和templates,C就是項目下的urls.py文件

    MVC模型中的M是應用blog下的modles.py文件,專門定義數據庫


    1.應用目錄blog下,modles.py文件定義數據表

    說明:數據類型定義方式,在官網中有說明,如ip地址類型:https://docs.djangoproject.com/en/dev/

    class Host(models.Model):

    hostname = models.CharField(max_length=50)

    ip = models.IPAddressField()

    技術分享圖片技術分享圖片


    2.檢查模型的語法或者邏輯是否有錯誤

    python manage.py validate

    技術分享圖片技術分享圖片


    3.初始化數據庫

    1)在項目目錄下的setting文件中,可以看到默認數據庫為sqllite3,數據庫目錄在BASE_DIR這層目錄,數據庫文件名為db.sqlite3

    技術分享圖片技術分享圖片

    取兩層路徑,表示當前腳本上一層目錄

    技術分享圖片技術分享圖片


    2)查看系統是否安裝sqlite3數據庫,沒有則yum安裝

    技術分享圖片技術分享圖片


    2.1)進入dbshell,熟悉sqlite3

    .help #幫助

    .tables #查看表

    .exit #退出

    技術分享圖片技術分享圖片


    2.2)每次執行登錄之後,會自動生成一個db.split3文件,也可以刪掉

    技術分享圖片技術分享圖片


    2.3)或者這樣進入

    技術分享圖片技術分享圖片


    2.4)查看數據表,其中id為自動生成

    技術分享圖片技術分享圖片


    3)同步數據庫

    命令 python manage.py syncdb

    說明:會自動生成一些自帶的表,以及認證

    技術分享圖片技術分享圖片


    3.1)初始化之後,查看表

    說明:語法和mysql基本相似

    技術分享圖片技術分享圖片


    4)管理數據,將數據庫數據顯示在admin頁面

    修改應用blog下的admin.py文件

    說明:先導入表,然後定義一個類,參數為admin模塊,繼承ModelAdmin方法;列表寫表中的字段;註冊host表和管理表

    class HostAdmin(admin.ModelAdmin):

    list_display = ["hostname","ip"]

    admin.site.register(Host,HostAdmin)

    技術分享圖片技術分享圖片


    5)web查看,並添加數據

    技術分享圖片技術分享圖片


    6)數據庫上查看添加的數據

    技術分享圖片技術分享圖片


    django初始化