1.创建用户,登录admin后台
在manage.py目录下执行cmd 命令
python3 manage.py createsuperuser
mysite> python manage.py createsuperuser
Username (leave blank to use 'fnngj'): admin # 管理员帐号
Email address: admin@mail.com # email
Password: # 密码
Password (again): # 重复密码
Superuser created successfully.
访问admin后台,1.启动服务器 ,python3 manage.py runserver
2.url.py中添加 规则 path('admin/', admin.site.urls),已有admin规则的可以忽略
3.访问http://127.0.0.1:8000/admin
登录刚才创建的账号密码即可。
2.使用admin来管理数据库后台数据
Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,如果你使用的是SQLite,那么你无需做任何预先配置,直接使用就可以了。
如果要使用如mysql数据库等,需要在项目目录下的settings.py文件下DATABASES下进行相应配置,如:
# helloword/settings.py
# Database
import pymysql # 一定要添加这两行!通过pip install pymysql!
pymysql.install_as_MySQLdb()
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',#数据库引擎
'NAME': 'mysite', #数据库名称
'HOST': '192.168.1.1', #数据库所在的主机ip
'USER': 'root', #用户名
'PASSWORD': 'pwd', #数据库密码
'PORT': '3306', #数据库端口
}
}
同时需要提前安装驱动mysqlclient
pip install mysqlclient
前提是数据库必须你自己先手动创建,Django不会自动帮你创建。
Django通过自定义Python类的形式来定义具体的模型,每个模型的物理存在方式就是一个Python的类Class,每个模型代表数据库中的一张表,每个类的实例代表数据表中的一行数据,类中的每个变量代表数据表中的一列字段。Django通过模型,将Python代码和数据库操作结合起来,实现对SQL查询语言的封装。也就是说,你可以不会管理数据库,可以不会SQL语言,你同样能通过Python的代码进行数据库的操作。Django通过ORM对数据库进行操作,奉行代码优先的理念,将Python程序员和数据库管理员进行分工解耦
1.设计一个学生数据库表
from django.db import models
# Create your models here.
class Students(models.Model):继承models.Model
name = models.CharField(max_length=3)#姓名,字符串类型
age = models.IntegerField() #年龄,整型
desc = models.CharField(max_length=150)#描述,字符串类型
time_stamp = models.DateTimeField() #时间 ,datetime类型
#创建三个学生数据库的4个字段
2.执行数据库同步
通过运行makemigrations
命令,Django 会检测你对模型文件的修改,也就是告诉Django你对模型有改动,并且你想把这些改动保存为一个“迁移(migration)”。
migrations
是Django保存模型修改记录的文件,这些文件保存在磁盘上。在例子中,它就是hello/migrations/0001_initial.py
,你可以打开它看看,里面保存的都是人类可读并且可编辑的内容,方便你随时手动修改。
migrate
的命令将对数据库执行真正的迁移动作.
python3 manage.py makemigrations hello
python3 manage.py migrate
3.通过Admin后台来管理students表数据。打开 admin.py 文件
from django.contrib import admin
# Register your models here.
from hello.models import Students
class StudentsAdmin(admin.ModelAdmin): #创建StudentsAdmin
list_display = ['name','age','desc','time_stamp'] #列出students表字段,不列出的话仅显示表名
admin.site.register(Students,StudentsAdmin)#注册students表
4.再次登录
发现界面上多了studentss项,点击add,可以添加表数据
点击save后
代码操作数据库
1.创建一个Students的实例
2.赋予这个实例各种属性
3.调用实例的save()方法