Django的基本開發環境配置和MTV模型

一.MTV模型

Django的MTV分別表明:python

       Model(模型):負責業務對象與數據庫的對象(ORM)mysql

       Template(模版):負責如何把頁面展現給用戶sql

       View(視圖):負責業務邏輯,並在適當的時候調用Model和Templateshell

       此外,Django還有一個urls分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template數據庫

二Django基本命令

2.1 下載Django

pip3 install django

2.2 建立Django project

django-admin.py startproject [preject名稱]

生成的目錄結構:django

  • manage.py ----- Django項目裏面的工具,經過它能夠調用django shell和數據庫等。
  • settings.py ---- 包含了項目的默認設置,包括數據庫信息,調試標誌以及其餘一些工做的變量。
  • urls.py ----- 負責把URL模式映射到應用程序。

 2.3 建立Django app

python manage.py startapp blog

 2.4 啓動Django

python manage.py runserver 8080

2.5 數據庫相關命令

#建立或修改表,當在models.py中新增或修改了類時,能夠自動在數據庫中建立修改表
python manage.py makemigrations
python manage.py migrate
#此命令會詢問是 yes 仍是 no, 選擇 yes 會把數據所有清空掉,只留下空表
python manage.py flush

數據庫相關,詳見session

2.6 建立超級管理員

'''
    python manage.py createsuperuser
     
    # 按照提示輸入用戶名和對應的密碼就行了郵箱能夠留空,用戶名和密碼必填
     
    # 修改 用戶密碼能夠用:
    python manage.py changepassword username
    
'''

2.7 Django 項目環境終端

#能夠在這個 shell 裏面調用當前項目的 models.py 中的 API,對於操做數據的測試很是方便
python manage.py shell
'''
Django 會自動進入在settings.py中設置的數據庫,若是是 MySQL 或 postgreSQL,會要求輸入數據庫用戶密碼
在這個終端能夠執行數據庫的SQL語句。若是對SQL比較熟悉,可能喜歡這種方式
'''
python manage.py dbshell

2.8 查看更多命令

#查看全部的命令
python manage.py

三.開發環境配置

3.1 數據庫app

#MySQL
DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME':'dbname',
    'USER': 'root',
    'PASSWORD': 'xxx',
    'HOST': '',
    'PORT': '',
    }
}
#不要用默認mysqldb,換成pymysql鏈接數據庫
#procjet.procjet.__init__.py
import pymysql
pymysql.install_as_MySQLdb()
#SQLlite
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}

3.2 靜態文件目錄工具

STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)

3.3 模板路徑post

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

 3.4 media配置

#settings中:
#用戶上傳文件配置
MEDIA_URL='/media/'
MEDIA_ROOT=os.path.join(BASE_DIR,'media')

#urls中配置
#media 配置
url(r'media/(?P<path>.*)$',serve,{'document_root':settings.MEDIA_ROOT})

 app配置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
    'stark.apps.StarkConfig',
]
相關文章
相關標籤/搜索