1. 程式人生 > >Django安裝、配置

Django安裝、配置

0. Django安裝

  pip3 install django==1.11.11(可到官網檢視長維護版本)

  pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ django==1.11.11

  PyCharm安裝的時候:
  open in new window

 

1. Django專案的啟動:

  1. 命令列啟動
    在專案的根目錄下(也就是有manage.py的那個目錄),執行:
    python3 manage.py runserver IP:埠--> 在指定的IP和埠啟動
    python3 manage.py runserver 埠 --> 在指定的埠啟動
    python3 manage.py runserver --> 預設在本機的8000埠啟動

2. PyCharm啟動
  

3. 配置相關 專案名/settings.py檔案

  1. Templates(存放HTML檔案的配置) <-- 告訴Django去哪兒找我的HTML檔案

  2. 靜態檔案(css/js/圖片)
    # 靜態檔案儲存目錄的別名
    STATIC_URL = '/static/'

    # 所有靜態檔案(css/js/圖片)都放在我下面你配置的資料夾中
    STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
    ] 
    3. 註釋掉setting.py中 帶有 csrf 的那一行(大概45~47行)

 

4.Django中的APP:

  方便我們在一個大的Django專案中,管理實現不同的業務功能.

  1. 建立APP的命令

    1. 命令列,在Django專案的根目錄輸入:

    python3 manage.py startapp app名字

  2.views.py

1. 專門用來定義處理請求的函式
1. 基本必備三件套
from django.shortcuts import HttpResponse, render, redirect
1. HttpResponse("要返回的內容") --> 通常用於直接返回資料
2. render(request, "html檔案", {"k1": v1}) --> 返回一個HTML檔案或者開啟檔案進行字串替換
3. redirect("URL") --> 告訴使用者的瀏覽器去訪問其他的URL

2. request相關
1. request.method --> 檢視請求的方法
2. request.POST --> 獲取POST請求的資料

5.ORM:

  1.ORM的對應關係:

    類 ---> 資料表
    物件 ---> 資料行
    屬性 ---> 欄位

  2.使用Django的ORM詳細步驟:

1. 自己動手建立資料庫
  create database 資料庫名;
2. 在Django專案中設定連線資料庫的相關配置(告訴Django連線哪一個資料庫)
# 資料庫相關的配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 連線的資料庫型別
'HOST': '127.0.0.1', # 連線資料庫的地址
'PORT': 3306, # 埠
'NAME': "day61", # 資料庫名稱
'USER': 'root', # 使用者
'PASSWORD': '123456' # 密碼
}
}
3. 告訴Django用pymysql代替預設的MySQLDB 連線MySQL資料庫
  在專案/__init__.py檔案中,寫下面兩句:
  import pymysql
  # 告訴Django用pymysql來代替預設的MySQLdb
  pymysql.install_as_MySQLdb()
4. 在app下面的models.py檔案中定義一個類,這個類必須繼承models.Model
  class 類名(models.Model):
  ...
5. 執行兩個命令
  1. python3 manage.py makemigrations
  2. python3 manage.py migrate

6.ORM單表的增加和查詢:

  0.在app/models.py裡面定義類

    # 出版社
    class Publisher(models.Model):
    id = models.AutoField(primary_key=True) # 自增的ID主鍵
    # 建立一個varchar(64)的唯一的不為空的欄位
    name = models.CharField(max_length=64, null=False, unique=True)

  0.1執行兩個命令

    1. python3 manage.py makemigrations --> 把models.py裡面的更改讀取出來
    2. python3 manage.py migrate --> 把更改翻譯成SQL語句,去資料庫執行

  1. 查詢
    models.UserInfo.objects.all()

  2. 增加
    models.UserInfo.objects.create(name="張三")