一、创建django工程
1 创建
cd ~/Desktop/test
django-admin startproject name
例如:
django-admin startproject testmanager
cd /testmanager
tree
2 工程目录说明
- 与项目同名的目录,此处为 testmanager:
-
settings.py 是项目的整体配置文件
-
urls.py 是项目的URL配置文件
-
wsgi.py 是项目与WSGI兼容的Web服务器入口
-
manage.py 是项目管理文件,通过它管理项目
注意: Django工程 不是 所有的 .py文件都可以运行
上面工程目录中,Django工程只有绿色的可以运行
此时,也就是 manager.py 文件
3 运行
python manage.py runserver
按住 ctrl 点击 http://127.0.0.1:8000/
本机是服务器,点击不了
二、 创建子应用
1 项目和子应用的关系
项目有很多功能,为了功能的划分,创建子应用,一个子应用实现一个功能
这样的情况下,业务模块的复用也是十分方便的
2 创建子应用
python manage.py startapp name
manage.py 是创建工程自动生成的管理文件
- models.py tests.py views,py MVT模型
- admin.py 文件跟网站的后台管理站点配置相关
- apps.py 文件用于配置当前子应用的相关信息
- migrations 目录用于存放数据库迁移历史文件
-
models.py 文件用户保存数据库模型类。
- tests.py 文件用于开发测试用例,编写单元测试
-
views.py 文件用于编写Web应用视图
三、注册安装子应用
使用pytharm打开工程
如果不注册,会出现问题
在 settings.py 中注册
四、 ORM 模型、定义
复习 MVT 模型
MVT 设计模式中的 Model,专门负责和数据库交互对应(models.py)
由于 Model 中内嵌了 ORM框架,所以不需要直接面向数据库编程
而是定义模型类,通过 模型类和对象 完成数据库表的 增删改查
可以看出来。ORM 模型相当于一种特殊的中间层,把复杂的数据库操作封装,透明
模型的定义
ORM 的定义 在 model.py 中
foreignkey 外键
from django.db import models
'''
1 模型类继承自 models.Model
2 系统自动为我们添加一个主键 -- id
3 字段
字段名= model.类型(选项)
字段名就是数据表的字段名,字段名不能使用python mysql的关键字
char(M)
varchar(M) M就是选项
'''
# Create your models here.
class BookInfo(models.Model):
name = models.CharField(max_length= 10)
class PeopleInfo(models.Model):
name = models.CharField(max_length= 10)
gender = models.BooleanField()
book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)
使用 Django 进行数据库开发的步骤
- 定义模型类
- 模型迁移
- 操作数据库
五、迁移模型和查看数据表
迁移主要是两个步骤
生成迁移文件,根据模型类生成创建表的语句
类 --》 表结构文件
python manage.py makemigrations
执行迁移,根据生成的语句,在数据库中创建表
执行表结构文件,此时数据库才有表
python manage.py migrate
迁移之前
此处,如果没注册就会出问题
那么问题来了?表在哪里??
在 sqlite3 中
执行迁移之后,数据表在 sqlite3 中
如果拖过去什么都没发生,那就是没有安装驱动
速度会有一点慢,稍等就行