创建APP
#项目根目录下执行 python3 manage.py startapp app名称
执行后创建目录结构如下:
db相关配置
配置数据库连接信息
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 连接的数据库类型 'HOST': '127.0.0.1', # 连接数据库的地址 'PORT': 3306, # 端口 'NAME': "testdb", # 数据库名称 'USER': 'root', # 用户 'PASSWORD': 'root' # 密码 } }
让Django用pymysql来代替默认的MySQLdb
import pymysql pymysql.install_as_MySQLdb()
让项目'知道'APP
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'login_app.apps.LoginAppConfig' ]
使用
创建模型
在app下面的models.py文件中定义一个类,这个类必须继承models.Model
1 from django.db import models 2 3 4 # Create your models here. 5 6 class UserInfo(models.Model): 7 id = models.AutoField(primary_key=True) # 自增 主键 8 username = models.CharField(max_length=40) # 对应db中varchar类型 9 password = models.CharField(max_length=20)
执行命令
python3 manage.py makemigrations # 对比模型和db的差异,记录下将要发生的变更
python3 manage.py migrate # 将记录的变更在数据库中执行
单表操作
1 from django.shortcuts import render 2 from login_app.models import * 3 4 5 # Create your views here. 6 def addUser(request): 7 # 新增 8 UserInfo.objects.create(username='admin', password='admin123') 9 10 11 def listUsers(request): 12 # 查询所有 13 user_list = UserInfo.objects.all() 14 [print('username:{} password:{}'.format(user.username, user.password)) for user in user_list] 15 ''' 16 result: 17 username:admin password:admin123 18 '''