python框架之Django(1)-O/RM

创建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'  # 密码
    }
}
/[project name]/settings.py->DATABASES节

让Django用pymysql来代替默认的MySQLdb

import pymysql
pymysql.install_as_MySQLdb()
/[project name]/__init__.py

让项目'知道'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'
]
/[project name]/settings.py->INSTALLED_APPS节

使用

创建模型

在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)
/[app name]/models.py

执行命令

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     '''
/[app name]/views.py

猜你喜欢

转载自www.cnblogs.com/zze46/p/9671830.html