1. 程式人生 > >django基本流程(1)

django基本流程(1)

一、建立專案

1.1、首先安裝Django庫,pip install django

1.2、在合適的位置建立一個目錄,開啟黑屏終端,進入上一步建立的目錄

1.3、輸入: django-admin startproject  專案名

1.4、目錄層級說明:manage.py 一個命令列工具,可以和django互動

         __init__.py     說明這是一個包

         settings.py      配置檔案

         urls.py            專案的url宣告

         wsgi.py           專案與wsgi相容的web伺服器入口(不知道幹什麼用的)

 

二、設計表結構

以學生表和班級表為例:(此時資料庫中還沒有生成表,生成表應該在第7步中,主要看設計的表結構)

 三、配置資料庫

3.1、在settings.py檔案中,在DATABASES中進行資料庫配置

3.2、配置mysql

        3.2.1、python3.x安裝的是PyMysql

        3.2.2、在__init__.py檔案中寫入        

        import pymysql

        pymysql.install_as_MySQLdb()

        3.2.3、格式

    DATABASES = {
     'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 資料庫名,
        'USER':使用者名稱,
        'PASSWORD':密碼,
        'HOST':資料庫伺服器ip,
        'PORT':埠號,
    }
}

四、建立應用

4.1、在一個專案中可以建立多個應用,每個應用進行一種業務處理

4.2、開啟命令視窗進入建立的專案目錄下的project

4.3、執行:python manage.py startapp 應用名

exam中檔案說明:admin.py:站點配置

                               models.py:模型

                                view.py:檢視

五、啟用應用

在settings.py檔案中,將exam應用加入

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'exam',
]

六、定義模型

6.1、有一個數據表,就對應一個模型

6.2、在models.py檔案中定義模型

class Grades(models.Model):
    gname    = models.CharField(max_length=20)
    gdate    = models.DateTimeField()
    ggirlnum = models.IntegerField()
    gboynum  = models.IntegerField()
    isDelete = models.BooleanField(default=False)

class Students(models.Model):
    sname = models.CharField(max_length=20)
    sgender = models.BooleanField(default=True)
    sage = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    # 關聯外來鍵
    sgrade = models.ForeignKey("Grades")

七、在資料庫中生成資料表

7.1、生成遷移檔案

        執行python manage.py makemigrations,在migrations檔案下生成一個遷移檔案,此時資料庫中還沒有生成資料表

7.2、執行遷移

       執行python manage.py migrate      相當於在資料庫中生成表,(生成了二中的表結構,此時表中沒有資料)

八、測試資料

輸入python.manage.py shell  進入python shell

from myApp.models import Students,Grades #引入包

from django.utils import timezone


from datetime import *

grade1=Grades()

grade1.gname="1"

grade1.gdate=datetime(year=2017,month=2,day=20)

rade1.ggirlnum=20

grade1.gboynum=20

grade1.save()



stu=Students()

stu.sname="liudehua"

stu.sgender=False

stu.sage=20

stu.scontend="lalala"

stu.sgrade=grade1

stu.save()

在資料庫中插入了資料

九、啟動伺服器

9.1、格式 python.manage.py runserver  ip:port

ip預設是本機ip,port預設是8000

未完待續……