Django的MTV分別表明:python
Model(模型):負責業務對象與數據庫的對象(ORM)mysql
Template(模版):負責如何把頁面展現給用戶sql
View(視圖):負責業務邏輯,並在適當的時候調用Model和Templateshell
此外,Django還有一個urls分發器,它的做用是將一個個URL的頁面請求分發給不一樣的view處理,view再調用相應的Model和Template數據庫
pip3 install django
django-admin.py startproject [preject名稱]
生成的目錄結構:django
python manage.py startapp blog
python manage.py runserver 8080
#建立或修改表,當在models.py中新增或修改了類時,能夠自動在數據庫中建立修改表 python manage.py makemigrations python manage.py migrate
#此命令會詢問是 yes 仍是 no, 選擇 yes 會把數據所有清空掉,只留下空表 python manage.py flush
數據庫相關,詳見session
''' python manage.py createsuperuser # 按照提示輸入用戶名和對應的密碼就行了郵箱能夠留空,用戶名和密碼必填 # 修改 用戶密碼能夠用: python manage.py changepassword username '''
#能夠在這個 shell 裏面調用當前項目的 models.py 中的 API,對於操做數據的測試很是方便 python manage.py shell
'''
Django 會自動進入在settings.py中設置的數據庫,若是是 MySQL 或 postgreSQL,會要求輸入數據庫用戶密碼
在這個終端能夠執行數據庫的SQL語句。若是對SQL比較熟悉,可能喜歡這種方式
'''
python manage.py dbshell
#查看全部的命令 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', ]