Django笔记1

第一部分 Django连接Mysql的操作

 1.创建数据库和表

先创建一个django_mysql的数据库,再在数据库中插入一个user表

DROP TABLE IF EXISTS user;

CREATE TABLE user
(
    id BIGINT(20) NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);


DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

2.pycharm创建Django项目

3.修改项目下__init__.py和setttings.py文件 

# __init__.py文件中添加

import pymysql

pymysql.install_as_MySQLdb()


# settings.py文件中修改DATABASES 
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 数据库引擎
        'NAME': 'django_mysql', # 数据库名
        'USER': 'root', # 账号
        'PASSWORD': ' root', # 密码
        'HOST': 'localhost', # HOST
        'POST': 3306, # 端口

    }
}

4.迁移数据库

在pycharm中选择tool菜单栏下 Run manage.py Task...

在终端中输入makemigrations和migrations,如下图则表示数据库迁移成功

 这时我们数据库中生成了这几个表

 5.app文件夹models.py文件下创建user信息

from django.db import models

"""
 该类是用来生成数据库的 必须要继承models.Model
"""
class user(models.Model):
    """
    创建如下几个表的字段
    """
    # 学号 primary_key=True: 该字段为主键
    id = models.CharField('id', primary_key=True, max_length=15)
    # 姓名 字符串 最大长度20
    name = models.CharField('name', max_length=20)
    # 年龄 整数 null=False, 表示该字段不能为空
    age = models.IntegerField('age', null=False)
    email = models.CharField('email', unique=True, max_length=15)


    # 指定表名 不指定默认APP名字——类名(app_demo_Student)
    class Meta:
        db_table = 'user'

 6.终端输入python manage.py runserver,运行Django项目


第二部分,实现数据库的增删查改


"""
增加
"""
def Save_data(request):
    data1 = user(id=101, name='袭人', age=18, email='1500@baomidou.com')
    data1.save()
    data2 = user(id=102, name='晴雯', age=18, email='1000@baomidou.com')
    data2.save()
    data3 = user(id=103, name='麝月', age=18, email='1000@baomidou.com')
    data3.save()
    data4 = user(id=104, name='秋纹', age=18, email='1000@baomidou.com')
    data4.save()
    #return render(request, 'user.html')
    return HttpResponse("Hello world! 数据插入成功")


"""
查询
"""
def find(request, Num):
    #sql = 'select * from student'
    # django 也可以执行原生的sql语句
    #result = Student.objects.raw(sql)

    # 查询name = tom1的数据
    result = user.objects.filter(id=Num)
    arr = []
    for i in result:
        content = {'编号': i.id, '姓名': i.name, '年龄': i.age, '邮箱': i.email}
        arr.append(content)
    return HttpResponse(arr)

"""
修改
"""
def modify(request, Num):
    # 通过学号获取student对象
    student = user.objects.get(id=Num)
    # 设置student的name为jack
    student.name = 'jack'
    student.save()
    return HttpResponse('修改成功.')

def delete(request, Num):
    student = user.objects.get(id=Num)
    student.delete()
    return HttpResponse('删除成功.')

同时,在urls.py中添加

    path(r'insert/', views.Save_data),
    re_path(r'find/(?P<Num>\d+)', views.find),
    re_path(r'modify/(?P<Num>\d+)', views.modify),
    re_path(r'delete/(?P<Num>\d+)', views.delete),

如在网页中输入:http://127.0.0.1:8000/find/1,可以查到

 第三部分 后台管理工具

打开manage.py控制界面,输入createsuperuser命令,设置相关用户名、密码、邮箱等创建超级用户

 在app/admin.py下加入如下代码

from django.contrib import admin

# Register your models here.
from app.models import user

admin.site.register(user)

管理界面如下:

python版本:python3.9

mysql版本:MySQL8.0.30

使用软件:pycharm、dbeaver

参考:

1.手把手教你使用Django如何连接Mysql - 腾讯云开发者社区-腾讯云

2.Django操作MySql详细教程_django mysql_Python3X的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值