PyCharm創建Django項目並連接mysql數據庫

0. 安裝Django

pip install django

1. 新建項目

注:我的Pycharm爲社區版,創建項目時,File->New Project… 顯示爲:

​ 注意勾選內容。

如果你的Pycharm版本爲其他版本,可以直接創建Django項目,下面的內容是在社區版的基礎上完成的。

1.1 創建Django項目

Pycharm社區版創建完項目,只需要執行以下步驟即可創建Django項目。

  • 打開Terminal輸入以下命令

    django-admin startproject projectname

  • 此時的目錄結構:

1.2 新建項目下的App

  • 到Django項目下,輸入以下命令

python manage.py startapp appname

  • 此時的目錄結構:

1.3 創建templates文件夾

此目錄下即用來存放我們的html文件。

此目錄一般是與app的主目錄是平級的。當然也可以建立在app的目錄下,主要取決於你的模板,一般是全局使用呢,還是專門服務於某個app。

  • 新建templates文件

newtemplates

  • 配置templates文件路徑

打開項目目錄下的setting.py文件,找到TEMPLATES,如圖示:

templatesdir

1.4 啓動項目

  • 輸入以下命令:

python manage.py runserver

點擊上圖紅色圈中的內容,瀏覽器彈出如下頁面表示創建成功。

另一種啓動方式,通過配置Pycharm Edit Configuration

輸入runserver 8000 ,8000爲項目訪問端口;

2. Django項目連接數據庫

2.1 創建數據庫

本次項目的測試數據庫爲mysql,使用可視化軟件Navicat。

新建一個數據庫,取名爲testDjango。

2.2 給項目導入mysql驅動

在File->Setting->Project:testDjango->Project Interpreter下按照圖示添加PyMySQL驅動;

2.3 配置數據庫

  • 找到工程目錄下的settings.py文件,並打開,找到DTABASE,按照圖示進行修改

即在setting.py中添加上以下代碼:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 數據庫驅動
        'NAME': 'testDjango',  # 數據庫名
        'USER': 'root',  # 用戶名
        'PASSWORD': '',  # 密碼,本機mysql數據庫沒有設置密碼,故此處爲空,此處應修改爲自己的數據庫密碼
        'HOST': '127.0.0.1',  # 主機ip
        'PORT': '3306'  # 數據庫端口號
    }
}

2.4 項目加載數據庫

  • 找到工程目錄下的__init__.py文件,並打開,添加以下代碼:
import pymysql

pymysql.install_as_MySQLdb()

  • 運行項目,此時運行項目會出現錯誤,按照以下步驟糾錯即可完成數據庫的連接;

    此處錯誤原因是Django項目版本與mysql驅動版本不匹配的問題,按照圖示註釋掉指定代碼即可:

  • 繼續運行,會出現以下錯誤,繼續按照圖示修改即可:
query = query.encode(errors='replace')

  • 此時再運行項目,出現圖示內容即代表Django項目連接數據庫成功!

2.5 創建數據庫表模型

  • 找到app目錄下的models.py,並作圖示內容修改:

from django.db import models


# Create your models here.  User對應數據庫中的表
class User(models.Model):
    # 如果沒有的話,默認會生成一個名稱爲id的列,如果要顯示的自定義一個自增列
    id = models.AutoField(primary_key=True)
    # 類裏面的字段代表數據表中的字段(username),數據類型則由CharField(相當於varchar)
    username = models.CharField(max_length=100)
    # 數據庫表中的密碼字段
    password = models.CharField(max_length=100)

model.py文件中User類對應數據庫中的數據表,屬性對應表中的字段名稱;

一般表的命名規則爲:app名稱_表名稱,例如本示例中的myapp_user

  • 向數據庫中同步創建表並同步數據:

    • 創建同步文件,在Terminal中輸入以下命令:

      python manage.py makemigrations

    輸入命令可能出現下圖示提示,無法同步,

這時需要在項目目錄下的setting.py文件中的INSTALLED_APPS中追加以下內容:

    'myapp.apps.MyappConfig',

之後重新輸入命令:python manage.py makemigrations 出現圖示內容表示同步成功

  • 創建表結構並同步到數據庫,輸入以下命令:

    python manage.py migrate

  • 打開數據庫,看到數據庫中新增了許多表,其中的User類生成的表(myapp_user)是你需要操作的表,其他都是框架自動生成的表。

  • 創建表結構並同步到數據庫,輸入以下命令:

    python manage.py migrate

  • 打開數據庫,看到數據庫中新增了許多表,其中的User類生成的表(myapp_user)是你需要操作的表,其他都是框架自動生成的表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章