基本知识:
Django框架在用户浏览器完成一次对服务器的访问中Django在下图红圈内的起作用(注意区别javaweb里用户的request请求和Django里服务器给Django程序传入的request对象
)
ORM:Object Relational Mapping(关系对象映射)
ORM的核心思想:通过python的类操作数据库的表
对于应关系:
python类 | 数据库 |
---|---|
类名对应 | 数据库中的表名 |
类属性对应 | 数据库表里的字段 |
类实例对应 | 数据库表里的一行数据 |
话不多说现在开始~👨💻
1️⃣第一步:修改项目目录下的 _ init _.py
import pymysql
pymysql.install_as_MySQLdb()
2️⃣第二步:修改settings.py中的“DATABASES”,配置数据库的连接环境
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'DB1234', #库名
'USER':'root',
'PASSWORD':'363316495',
'HOST':'',
'PORT':'3306'
}
}
3️⃣第三步:在blog应用目录下的models.py中定义类进行表的创建
from django.db import models
class Student(models.Model):
# 姓名
name = models.CharField(max_length=30)
# 学号(主键)
no = models.CharField(max_length=30,primary_key=True)
4️⃣第四步:创建一个和setting.py的文件里同名的数据库然后在终端输入:
①
python manage.py makemigrations
相当于在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动
②
python manage.py migrate
将该改动作用到数据库文件,比如产生table之类
Pycharm会自动创建以下两个文件:
5️⃣第五步:为了实现通过浏览器触发数据库的方法,在路径里面添加对blog应用的路径映射(若blog没有urls则新创一个)
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r"blog/", include("blog.urls")),
]
6️⃣第六步:在blog应用内映射触发视图函数
7️⃣第七步:解析从服务器传来的request对象,并且调用数据库插入函数
from django.http import HttpResponse
from . import models
# 第七步:解析从服务器传来的request对象,并且调用数据库插入函数
# 插入操作:
def insert1(request):
models.Student.objects.create(name="topus3", no="003")
models.Student.objects.create(name="topus4", no="004")
models.Student.objects.create(name="topus5", no="005")
return HttpResponse("insert")
# 查找操作:
def select1(request):
# 查找所有
stus = models.Student.objects.all()
for stu in stus:
print(stu.name,stu.no)
# 查找某个,相当于sql语句中的where
models.Student.objects.filter(no="003").values("name")
return HttpResponse("select")
# 修改操作
def update1(request):
models.Student.objects.filter(no="003").update(name="zyz")
return HttpResponse("update")
# 删除操作
def delete1(request):
models.Student.objects.filter(no="003").delete()
return HttpResponse("delete")
8️⃣第八步:启动Django自带服务器
控制台输入:
python manage.py runserver 8000
【注】python manage.py runserver 8000
默认绑定 127.0.0.1 该IP地址
127.0.0.1 是个回环地址
9️⃣第九步:在浏览器依次输入(增删改查)
http://127.0.0.1:8000/blog/insert/
http://127.0.0.1:8000/blog/delete/
http://127.0.0.1:8000/blog/update/
http://127.0.0.1:8000/blog/select/
前端界面返回:
此时Terminal输出:
或者此时查看数据库:
打开终端:(mac)
/usr/local/MySQL/bin/mysql -u root -p这里填数据库密码
展示所有数据库:
mysql> show databases;
使用某个数据库:
use DB1234; //这里填你自己的数据库名
查看数据库中某个表结构:
describe student;
当然你也可以在workbench里查看到: