????????Django 是一個使用 Python 編程語言開發的、免費且開源的 Web 應用框架。它遵循 "DRY(Don't Repeat Yourself)" 原則,旨在簡化創建功能豐富的、高效率的 Web 網站。Django 提供了模型-視圖-控制器(MVC)架構的實現,以及ORM(對象關系映射)系統、內置了?admin 界面、URL 路由、模板引擎、表單處理和強大的安全特性。
開發環境:Python3 + PyCharm專業版
一、創建項目
打開PyCharm,新建Django項目(PyCharm社區版無法快速創建Django項目),設置新項目的路徑和項目名,直接點擊創建即可
在PyCharm的終端中可以使用pip命令來查看默認安裝的依賴:
默認安裝的是最新版本的Django,可根據實際需求,安裝指定版本的Django:
pip uninstall django
pip install django==3.2.18
二、項目文件主要文件介紹
修改setting.py文件,配置數據庫
# 數據庫配置 默認的數據庫為sqlite
DATABASES = {'default': {'ENGINE': 'djangoDemo.db.backends.mysql', # 數據庫類型'NAME': 'db_name', # 數據庫名'USER': 'username', # 用戶名'PASSWORD': 'password', # 密碼'HOST': '127.0.0.1', # 數據庫服務器地址'PORT': 3306, # 端口號(MySQL默認3306)}
}
打開終端,執行命令,安裝mysql依賴:
pip install mysqlclient
三、啟動項目
? ? ? ? PyCharm運行manage.py啟動項目,默認啟動端口為8000,直接點擊藍色的?http://127.0.0.1:8000/? 即可跳轉到瀏覽器訪問Django的主頁
控制臺日志:
瀏覽器主頁:
四、新建應用模塊
在PyCharm的終端中執行命令,創建新的應用模塊:
python manage.py startapp app名
生成的應用模塊目錄?:
修改setting.py文件,找到INSTALLED_APPS(約33行處),將新建的應用模塊注冊到Django中
# 用來注冊App 前6個是django自帶的應用
INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','myapp', # 注冊新的app
]
五、寫一個Hello World接口
修改urls.py路由配置文件,添加新的路由:
在新建的應用模塊中的views.py中添加hell接口:
瀏覽器訪問?http://127.0.0.1:8000/?
六、寫一個用戶表的增刪改查接口
創建user表:
CREATE TABLE `user` (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(20) CHARACTER SET utf8mb4 NOT NULL COMMENT '名字',`account` varchar(20) CHARACTER SET utf8mb4 NOT NULL COMMENT '賬號',`password` varchar(20) CHARACTER SET utf8mb4 NOT NULL COMMENT '密碼',`age` int NULL DEFAULT NULL COMMENT '年齡',`gender` char(1) CHARACTER SET utf8mb4 NULL DEFAULT NULL COMMENT '性別',`money` decimal(10, 2) NOT NULL COMMENT '余額,人民幣單位:元',`create_time` datetime NULL DEFAULT NULL COMMENT '創建時間',`update_time` datetime NULL DEFAULT NULL COMMENT '更新時間',`isdel` int NOT NULL DEFAULT 0 COMMENT '該用戶是否已刪除,0未刪除,1已刪除',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '小白', 'aaa@qq.com', '123456', 15, '男', 100.00, '2023-01-15 00:35:44', '2023-01-15 00:35:44', 0);
INSERT INTO `user` VALUES (2, '小明', 'bbb@qq.com', '123456', 16, '男', 58.00, '2023-01-15 00:35:44', '2023-01-15 00:35:44', 0);
INSERT INTO `user` VALUES (3, '大白', 'ccc@qq.com', '123456', 22, '女', 168.00, '2023-01-15 00:35:44', '2023-01-15 00:35:44', 0);
INSERT INTO `user` VALUES (4, '大明', 'ddd@qq.com', '123456', 21, '男', 12.50, '2023-01-15 00:35:44', '2023-01-15 00:35:44', 0);
INSERT INTO `user` VALUES (5, '小剛', 'eee@qq.com', '123456', 17, '男', 65.23, '2023-01-15 00:35:44', '2023-01-15 00:35:44', 1);
在models.py中創建user表的映射類:
from django.db import models# 模型層,實體類層
class User(models.Model):# 設置所需要映射的數據表,默認映射的表名是:應用名_全小寫類名class Meta:db_table = "user"ISDEL_CHOICES = ((0, "未刪除"),(1, "已刪除"))# Django自帶id字段,無需手動添加# id = models.IntegerField()# 將變量與數據庫表字段進行映射,CharField限制該字段為字符串類型,限制該字段的長度、默認值name = models.CharField(max_length=20, default="")account = models.CharField(max_length=20, default="")password = models.CharField(max_length=16, default="", null=False)age = models.IntegerField()gender = models.CharField(max_length=1)money = models.DecimalField(max_digits=10, decimal_places=2)create_time = models.DateTimeField()update_time = models.DateTimeField()# choices限制字段的取值范圍,只能是0和1isdel = models.IntegerField(null=False, choices=ISDEL_CHOICES)
未完待續 .......