新闻动态

django连接数据库获取数据的简单步骤记录

发布日期:2022-07-20 19:16 | 文章来源:gibhub

1、创建项目

执行代码

django-admin startproject myweb

2、创建应用

python manage.py startapp myapp

3、运行项目

python manage.py runserver

如果没有加端口号就是默认8080,可以自己加端口号,防止与其它项目的端口号重复导致不能运行成功

python manage.py runserver 0.0.0.0:8080

端口号可以随意取,只要不重复就行

4、连接数据库

DATABASES = {
 'default': {
  'ENGINE': 'django.db.backends.mysql',
  'NAME': 'mydemo',
  'USER': 'root',
  'PASSWORD': '',
  'HOST': 'localhost',
  'PORT': '3306',
 }
}

如果没有安装mysqlclient模块执行以下代码进行安装

pip install  mysqlclient

然后在目录中创建模型

```python
from django.db import models
# Create your models here.
class Stu(models.Model):
 '''自定义Stu表对应的Model类'''
 #定义属性:默认主键自增id字段可不写
 id = models.AutoField(primary_key=True)
 name = models.CharField(max_length=16)
 age = models.SmallIntegerField()
 sex = models.CharField(max_length=1)
 classid=models.CharField(max_length=8)
 # 定义默认输出格式
 def __str__(self):
  return "%d:%s:%d:%s:%s"%(self.id,self.name,self.age,self.sex,self.classid)
 # 自定义对应的表名,默认表名:myapp_stu
 class Meta:
  db_table="stu"

激活模型——把新增的应用添加到模型中。

编辑myweb/settings.py文件,并将该虚线路径添加到该INSTALLED_APPS设置。
INSTALLED_APPS  =  [ 
 'django.contrib.admin' ,
 'django.contrib.auth' ,
 'django.contrib.contenttypes' ,
 'django.contrib.sessions' ,
 'django.contrib.messages' ,
 'django.contrib.staticfiles' ,
 'myapp.apps.MyappConfig',  #或者直接写 myapp
]

5、创建数据库stu

使用Navicat数据库,在数据库中要创建数据库myweb,创建表stu,自己根据model模型中的数据类型增加数据。

数据都要有单引号,否则会报错

错误记录

TypeError: connect() argument 3 must be str, not int

类型不匹配的问题,要把数据库中字段的类型跟代码中的类型相匹配。

RuntimeError: Model class myapp.models.Stu doesn’t declare an explicit app_label and isn’t in an app

没有激活模型,原来我是写成myphoto,不是myapp,所以会报错。

6、应用

# 文件:myapp/views.py 文件代码
from django.shortcuts import render
from django.http  import HttpResponse
from myapp.models import Stu
# Create your views here.
def index(request):
 return HttpResponse("Hello Django!")
def stu(request):
 #获取所有stu表信息
 lists = Stu.objects.all()
 print(lists)
 #获取单条学生信息
 print(Stu.objects.get(id=1))
 return HttpResponse("ok")

配置stu函数的访问路由

#在myapp/urls.py文件中配置
path('stu/', views.stu),

然后启动服务

python manage.py runserver

在网页中的路径改为以下路径

http://127.0.0.1:8088/myapp/stu/

cmd里有数据显示

显示数据库中的数据

7、总结

简易的一个获取数据库内容的例子,最主要的是要自己先创建数据才能获取到。

到此这篇关于django连接数据库获取数据的文章就介绍到这了,更多相关django连接数据库获取数据内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

海外服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部