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

 更新时间:2022年07月13日 09:31:04   作者:小神龙哈哈哈  
数据库中各种表结构已经创建好了,甚至连数据都有了,此时我要用Django管理这个数据库,下面这篇文章主要给大家介绍了关于django连接数据库获取数据的相关资料,需要的朋友可以参考下

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连接数据库获取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python编写的实用运维脚本分享

    利用Python编写的实用运维脚本分享

    Python在很大程度上可以对shell脚本进行替代。笔者一般单行命令用shell,复杂点的多行操作就直接用Python了。本文归纳了Python中一些实用脚本操作,需要的可以参考一下
    2022-05-05
  • Permission denied的解决方法

    Permission denied的解决方法

    这篇文章主要介绍了Permission denied的解决方法,希望能给你带来帮助
    2021-08-08
  • Python列表list操作相关知识小结

    Python列表list操作相关知识小结

    今天,本喵带大家仔细温习一下Python的列表,温故而知新,不亦说乎,需要的朋友可以参考下
    2020-01-01
  • Python绘图操作之turtle库乌龟绘图全面整理

    Python绘图操作之turtle库乌龟绘图全面整理

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形
    2021-10-10
  • python实现简易图书管理系统

    python实现简易图书管理系统

    这篇文章主要为大家详细介绍了python实现简易图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 基于Flask实现一个智能的多语言Hello World服务器

    基于Flask实现一个智能的多语言Hello World服务器

    这篇文章主要为大家详细介绍了如何使用Flask框架创建一个智能的多语言Hello World服务器,能够自动检测访问者的浏览器语言设置,需要的可以了解下
    2025-03-03
  • python对execl 处理操作代码

    python对execl 处理操作代码

    这篇文章主要介绍了python对execl 处理操作,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 利用python写api接口实战指南

    利用python写api接口实战指南

    api接口在我们开发中的重要性相信大家都这篇文章主要给大家介绍了关于利用python写api接口实战的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 三步实现Django Paginator分页的方法

    三步实现Django Paginator分页的方法

    这篇文章主要介绍了三步实现Django Paginator分页的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Jmeter通过OS进程取样器调用Python脚本实现参数互传

    Jmeter通过OS进程取样器调用Python脚本实现参数互传

    这篇文章主要介绍了Jmeter通过OS进程取样器调用Python脚本实现参数互传,描述在cmd中调用上面的Python脚本并传入两个参数展开主题,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03

最新评论