django的命令, 配置,以及django使用mysql的流程
-
下載
-
pip install django==1.11.16
-
pip install django==1.11.16 -i 源
-
-
建立專案
-
django-admin startproject app01(專案名,這是專案的根目錄)
-
-
啟動專案
-
cd 專案目錄下 找到manage.py
-
python manage.py runserver # 127.0.0.1:8000
-
python manage.py runserver 80 # 127.0.0.1:80
-
python manage.py runserver 0.0.0.0:80 # 0.0.0.0:80
-
-
建立一個APP
-
python manage.py startapp app名稱
-
註冊
-
-
資料庫遷移
-
python manage.py makemigrations # 在app下的migrations資料夾下記錄 models的變更記錄
-
python manage.py migrate # 將models的變更記錄同步到資料庫中
-
註釋一個CSRF的中介軟體 可以提交POST
-
databases 資料庫
-
ENGINE : mysql
-
NAME : 資料庫的名稱
-
HOST:主機的IP
-
PORT:3306
-
USER: 使用者名稱
-
PASSWORD: 密碼
-
-
靜態檔案的配置
-
STATIC_URL = '/static/' # 別名
-
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
-
-
app
-
INSTALLED_APPS = [
'app01' ,
'app01.apps.App01Config'
]
-
-
TEMPLATES 模板相關的配置
-
DIRS [ os.path.join(BASE_DIR,'templates')]
-
建立一個mysql資料庫, 可以通過在你的資料庫互動式命令列中使用
CREATE DATABASE database_name;
-
在settings中進行配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 資料庫引擎mysql 'NAME': 'bms2', # 你要儲存資料的庫名,事先要建立 'USER': 'root', # 資料庫使用者名稱 'PASSWORD': '', # 密碼 'HOST': 'localhost', # 主機 'PORT': '3306', # 資料庫使用的埠 } }
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bookmanager', 'HOST': '127.0.0.1', 'PORT': 3306, 'USER': 'root', 'PASSWORD': '', } }
- 在與settings同級目錄下的init的檔案中寫:
import pymysql pymysql.install_as_MySQLdb()
- 在app下的models中寫類(models.Model)
class Publisher(models.Model): # app01_publisher pid = models.AutoField(primary_key=True) # pid 主鍵 name = models.CharField(max_length=32, unique=True) # 出版社名稱 def __str__(self): return self.name class Book(models.Model): title = models.CharField(max_length=32, unique=True) # 書籍的名稱 publisher = models.ForeignKey('Publisher', on_delete=models.CASCADE) # 關聯了出版社 def __str__(self): return self.title class Author(models.Model): name = models.CharField(max_length=32, unique=True) # 作者的名字 books = models.ManyToManyField('Book') # 表示作者和書籍 多對多的關係 # books = models.ManyToManyField('Book', through='Author_book',) # 表示作者和書籍 多對多的關係
-
-
python manage.py makemigrations # 在app下的migrations資料夾下記錄 models的變更記錄
-
python manage.py migrate # 將models的變更記錄同步到資料庫中
-