Django连接MySQL并使用Html展示展示数据库的数据

标题:Django连接MySQL并使用Html展示展示数据库的数据

Author:zhengzai7,Time:2019.08.20

(一)目 录

  1. 准备工作

  2. 详细步骤

  3. 总 结

  4. 引 文

(二)正 文

1. 准备工作

本项目在windows 10环境下进行。首先请安装如下软件和工具:

(1)安装django2.0 或以上 (cmd输入:pip install django==2.0)

(2)python3.5.0 或以上 (下载地址:https://www.python.org/downloads/)

(3)安装最新版MySQL数据库,可百度搜索流程安装(下载地址:https://dev.mysql.com/downloads/windows/)

(4)安装数据库管理软件Navicat (下载地址:https://www.navicat.com.cn/products)

(5)安装python用于操作数据库的驱动器pymysql (cmd输入:pip install pymysql)

(6)安装用于编辑代码的sublime软件 (下载地址:https://www.sublimetext.com/3)

下面将讲解详细步骤,请完全按照以下的详细步骤进行操作,能够保证您成功运行项目。

2. 详细步骤

2.1 创建项目

新建一个名为zhengzai7的项目,在cmd中,进入你的虚拟环境过后,cd 到你计划存储项目的文件位置,输入以下代码:

django-admin startproject zhengzai7

2.2 创建app

在cmd 输入:cd zhengzai7,cd 到你的项目文件下,创建一个名为zhengzai7-app的app,代码如下:

python manage.py startapp zhengzai7-app

注意:使用数据库,必须先新建app

2.3 修改配置信息

(1)zhengzai7/settings.py

首先,修改INSTALLED_APPS这个字段添加我们的app,即zhengzai7-app

INSTALLED_APPS = (
   django.contrib.admin,
   django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    zhengzai7-app, #添加你的app
)

其次,修改DATABASES部分,代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': ';zhengzai7_database',    #你的数据库名称
        'USER': 'root',   #你的数据库用户名
        'PASSWORD': '', #你的数据库密码,安装mysql时设置的密码
        'HOST': '', #你的数据库主机,留空默认为localhost
        'PORT': '3306', #你的数据库端口
    }
}

(2)修改zhengzai7-app/model.py

from django.db import models
# Django规定,如果要使用模型,必须要创建一个app
# 与数据库操作相关,存入或读取数据时用到这个
# 建立person类
class Person(models.Model):
    name = models.CharField(max_length=30)
    temperature = models.IntegerField()
# 自动生成一个主键
# 构建字段nanme和temperature
    def __str__(self):
        # 定义函数读取字段数据
        # 在Python2中使用 def __unicode__(self)
        return self.name
# 这里新建了一个person类,继承了django的models.Model类

person是新建的类,继承了model类;

name和temperature是字段。

2.4 新建数据库

(1)连接mysql数据库

打开Navicat数据库管理软件,然后点击左上角的标识链接mysql数据库,即:连接->mysql,如下操作: 1

(2)新建数据库

在根目录上点击右键->新建数据库(此处命名为:zhengzai7_database)->进行命名、字符集选择:utf8 -- UTF-8 Unicode、排序规则选择:utf8_general_ci,如下图: 2

2.5 迁移

cd 到项目文件下,cmd中输入如下代码:

python manage.py migrate
python manage.py makemigrations

若操作成功,则会在cmd出现一系列返回为ok的提示,如下:

Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

验证数据库操作是否成功:在Navicat软件中,点击你新建的数据库zhengzai7_database,点击表,在右侧进行刷新,看是否出现一列数据表,并且出现zhengzai7-app_person这个表,如下图: 3

2.6 在数据库中手动添加数据

双击打开zhengzai7-app_person这个表;这个表是基于model给出的字段进行创建的;手动添加数据;如下: 4

2.7 修改文件

(1) 修改zhengzai7-app/views.py

from django.shortcuts import render
from zhengzai7-app.urls.models import Person
def index(request):
    str = Person.objects.get(name='name1').temperature
    return render(request, 'index.html', {'str': str})

(2)修改zhengzai7/urls.py

from django.contrib import admin
from django.urls import include, path
urlpatterns = [
    path('zhengzai7-app',include('zhengzai7-app.urls')),
    path('admin/', admin.site.urls),
]

(2)修改zhengzai7-app/urls.py

首先要在zhengzai7-app下新建一个urls.py文档。

当运行项目时,此文件将程序调用index方法,路由到index02进行执行。

from django.urls import path
from . import views
urlpatterns = [
  path('',views.index,name='index02'),
]

(3)修改index02.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>``
<body>
     场景1的温度为:{{ str }}
</body>
</html>

(4)修改view.py

from django.shortcuts import render
from yangapp02.models import Person
def index(request):
    str = Person.objects.get(name='name1').temperature
    return render(request, 'index02.html', {'str': str})

2.8 运行项目

在cmd中输入:

python manage.py runserver

运行项目。

在浏览器中输入:

http://127.0.0.1:8000/zhengzai7-app

查看运行情况,若运行成功,则会出现如下图所示的结果: 5

3. 总 结

Django是一个web开发框架,在实际进行数据库i项目时需要注意以下几点:

(1)settings.py的设置

(2)model.py的修改

(3)view.py的修改

(4)index.html的修改

(5)urls.py的修改,这里注意,在app下也要新建一个urls.py。

总体来说,就是通过model读取数据库的数据,然后通过view调用index进行展示。

4. 引 文

[1] https://www.jianshu.com/p/58126779ff6a

[2] https://blog.csdn.net/GitzLiu/article/details/54627517

[3] https://www.cnblogs.com/muchen/p/6882661.html

[4] https://www.runoob.com/django/django-model.html

评论 1