django基础01
- 安装django
pip install Django
验证是否安装成功
- 创建项目
进入到需要创建项目的文件目录下,然后输入:
django-admin startproject djangodemo
查看目录层级:tree . /F
目录层级:manage.py 一个命令行工具,用于我们和Django的交互
下面是project目录说明:
_init_.py 空文件,告诉Python这个目录应该被看做一个Python包
settings.py 项目配置文件
urls.py URL分发器,项目的URL声明
wsgi.py 项目与WSGI兼容的web服务器入口
3.设计表结构,这里使用的是班级表和学生表
4.配置数据库
seting.py中,通过DATABASES配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sunck',#数据库名
'USER': 'root',#用户名
'PASSWORD': '123456',#密码
'HOST': 'localhost',#数据库服务器ip,直接填本地主机
'PORT': '3306',#PORT为3306默认端口
}
}
在_init_.py中写入两行代码
import pymysql
pymysql.install_as_MySQLdb()
5.创建应用
打开目录 目录显示层级为manage.py和project文件夹
创建myApp的应用
python manage.py startapp myApp
myApp目录说明:
admin.py站点配置
models.py模型
views.py视图
6.激活应用
在setting.py文件中加入到INSTALLED_APPS中
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myApp'#加的是这个
]
7.定义模型(对接数据库)
一个数据库表对应一个模型
在models.py中加入
from django.db import models
class Grades(models.Model):
gname = models.CharField(max_length=20)
gdata = models.DataTimeField()#这个需要创建DataTimeField类pycharm有提示
ggirlnum = models.IntegerField()
gboynum = models.IntegerField()
isDelete = models.BooleanField(default=False)
def __str__(self):
return "%s-%d-%d"%(self.gname,self.ggirlnum,self.gboynum)
class Students(models.Model):
sname = models.CharField(max_length=20)
sgender = models.BooleanField(default=True)
sage = models.IntegerField()
scontend = models.CharField(max_length=20)
isDelete = models.BooleanField(default=False)
#关联外键
sgrade = models.ForeignKey("Grades", on_delete=models.CASCADE)#django2.0以上版本必须加on_delete,否则会报错
8.生成数据表
生成迁移文件:
python manage.py makemigrations #myApp的目录migrations下生成一个迁移文件
执行迁移
python manage.py migrate #数据库会生成一系列表
注意:a.如果重新迁移的话,需要删除0001.initial.py文件,把数据库也一块删除,然后再生成迁移文件,再迁移
b.新增一张表的话不需要重新迁移,直接生成0002的迁移文件,再执行迁移即可
c.修改原表的字段的话,需要重新迁移
持续更新中,内容参考的是B站千峰教育学习的