Django 框架

Django 是用 Python 開發(fā)的一個免費開源的 Web 框架,幾乎囊括了 Web 應用的方方面面,可以用于快速搭建高性能、優(yōu)雅的網(wǎng)站,Django 提供了許多網(wǎng)站后臺開發(fā)經(jīng)常用到的模塊,使開發(fā)者能夠?qū)W⒂跇I(yè)務部分。

Django 提供了通用 Web 開發(fā)模式的高度抽象,為頻繁進行的編程作業(yè)提供了快速解決方法,并為“如何解決問題”提供了清晰明了的約定。Django 通過 DRY(Don’t Repeat Yourself,不要重復自己)的理念來鼓勵快速開發(fā)。

搭建 Django 開發(fā)環(huán)境主要分為以下 5 個步驟:

  • 安裝 Python 解釋器
  • 安裝 MySQL 數(shù)據(jù)庫
  • 安裝 Python 包管理器 pip
  • 安裝 Pycharm IDE
  • 安裝 Django

具體搭建過程參見搭建Django開發(fā)環(huán)境

安裝插件

1、安裝psycopg2,參見上節(jié):psycopg2 接口

2、安裝Django

pip install django

image-20220507111244614

3、配置settings

? 在django項目的主app中找到項目的settings.py文件,找到關于Database的設置。django默認使用的是sqlite3數(shù)據(jù)庫,所以我們先將默認的兩行配置注釋,然后添加上關于postgreSQL的配置。

ATABASES = {
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': '' # 數(shù)據(jù)庫名稱
'USER': '' # 登錄數(shù)據(jù)庫用戶名
'PASSWORD': '', # 登錄數(shù)據(jù)庫密碼
'HOST': '' # 數(shù)據(jù)庫服務器的主機地址
'PORT': '' # 數(shù)據(jù)庫服務的端口號
}

示例項目

項目結構圖如下:

image-20220517155035305

修改配置文件

settings.py

DATABASES = {
'default': {
#'ENGINE': 'django.db.backends.sqlite3',
#'NAME': BASE_DIR / 'db.sqlite3',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'test', # 數(shù)據(jù)庫名字(需要先創(chuàng)建)
'USER': 'test', # 登錄用戶名
'PASSWORD': 'test', # 密碼
'HOST': '192.168.2.5', # 數(shù)據(jù)庫IP地址,留空默認為localhost
'PORT': '5866', # 端口
}
}

manage.py

import psycopg2  #增加引用psycopg2

終端執(zhí)行

# 創(chuàng)建migrations 文件包中遷移文件(文件名格式:0001_initial.py)
python manage.py makemigrations
# 遷移
python manage.py migrate
# 以下為輸出信息
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK

查看數(shù)據(jù)庫

image-20220507152848405

可以看到Django框架默認的數(shù)據(jù)表已經(jīng)創(chuàng)建成功,就可以使用HGDB數(shù)據(jù)庫了。