python django那些路(Ⅳ、关于django配上mysql的小事)

   Ⅰ、关于pip,安装package的事

 Ⅱ、关于创建一个django项目的小事

 Ⅲ、逃不过的hello world

 Ⅳ、关于django配上mysql的小事

 


前面,我们把django框架的安装,创建一个django项目,显示helloworld,分成三个章节完成。

再加上,这个章节,django配上mysql,那么django基本入门,就完成。 

之所以写这些呢,实际上,是给自己留个印象,下次想用django,看一眼,就可以上手,所以带了很多个人色彩。其他初学者,跟着操作,可能还可以。如果只是光看,效果一般吧。大佬就别来了,写的很糟糕,我懂~~~

至于我的入门,是根据下面这个视频学习的,讲的还是蛮不错的,投入时间,肯定比我这个干巴巴的文字,效果好很多。好评如潮Python Django全套教程,手把手教你从0搭建网站,带项目实战,学完可接单_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1pq4y1W7a1?p=10&spm_id_from=pageDriver

最后一个提醒,下面的食用,最好是:

根据图片,找到项目中对应的位置;

根据代码段的内容+注释,进行理解和操作。


目录

一、配置数据库的驱动

二、下载驱动要用的库

三、在mysql里添加数据

四、得到数据库数据

五、让项目知道,应用可以找到数据

六、让应用把数据显示在界面上

​6.1配置视图views.py

         6.2配置路由urls.py

七、浏览器显示数据库的数据

八、总结一下:


一、配置数据库的驱动

要想用数据库,肯定要用到驱动,java的是jdbc,django就要简单很多了 

找到位置,添加一下mysql的驱动,在项目下面的settings.py,找到databases,加入这段内容 

DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        # 'NAME': BASE_DIR / 'db.sqlite3',
        ## 这个是数据库的驱动,可以用sqlite3,mysql,oracle,postgresql

        'ENGINE' : 'django.db.backends.mysql',
        'NAME' : 'webData',
        'USER' : 'root',
        'PASSWORD' : '',
        'HOST' : 'localhost',
        'PORT' : '3306'
        ## 每个项目只需要配置一处,name是数据库的仓库名,password什么的自己配置
    }
}

二、下载驱动要用的库

django2.2之前用的是pysql,但是之后用的是mysqlclient(我们博客前面下的是pysql,没用)

pip install mysqlclient 
## django2.2之前是pymsql, 后面的版本就是mysqlcilent了

三、在mysql里添加数据

记得,在sql里创建一下,库、表、数据

(数据自己添加,当然mysql的下载配置也自己百度,有坑哦,友情提醒,要小心) 

这个是我的数据库,大家如果用自己的,后面的一些输出,查询记得对应着,改一下 


mysql> create database webData;

mysql> use webData;

mysql> create table testData(
    -> uname varchar(15),
    -> uid int primary key,
    -> upwd varchar(10));

mysql> desc testData;

四、得到数据库数据

前面,是让项目可以找到数据库。但,具体操作数据库的,是应用myapp。

所以,我们在应用myapp里,配置一下模型models.py,让myapp可以得到数据库的数据。

diango框架已经把对数据库增删改查,封装好了,所以,在模型models.py里只要把数据接收过来,然后设置一个接口,丢给程序,就万事大吉了

 先把数据从数据库,读出来。

这里的XX = models.charField,就是把表里对应的数据,丢到这个XX里,所以,名字要对应好

而__str__,就是输出的接口了,把数据按照确定的格式,输出给程序。也可以有其他的写法,这里只是入门嘛,有个结果就好

from django.db import models

# Create your models here.

class testData(models.Model):
    ## models.Model一定要继承,django集成好数据库的增删改查到这里
    ## 类名随便起
    uname = models.CharField(max_length=15)
    uid = models.AutoField(primary_key=True)
    upwd = models.CharField(max_length=10)
    ## 对应着表里的每个字段

    ## 默认输出,当调用到类名时,会返回以下格式的输出
    def __str__(self):
        return "%s : %s & %s"%(self.uid, self.uname, self.upwd)

    class Meta:
    ## 内部类Meta来设置model的元数据
        db_table = "testdata"
        ## 引导找到对应的表

五、让项目知道,应用可以找到数据

应用myapp的模型models.py好了,那下面要让项目找到,我们刚刚写的东西

 在项目的settings.py里添加一下,应用名myapp,这样,项目就可以找到应用myapp下的models.py了

INSTALLED_APPS = [
    ## 引用,应用de配置类、配置包

    ## Django 的自带应用
    'django.contrib.admin', ## 管理员站点
    'django.contrib.auth',  ## 认证授权系统
    'django.contrib.contenttypes', ## 内容类型框架
    'django.contrib.sessions',     ## 会话框架
    'django.contrib.messages',     ## 消息框架
    'django.contrib.staticfiles',  ## 管理静态文件的框架

    'myapp', ## 对应的是我们的应用名
]

六、让应用把数据显示在界面上

前面的操作,我们可以从数据库读数据了

但是光有数据不行,要把他显示出来,放在界面上

6.1配置视图views.py

找到,myapp下的views.py,把数据提出来,然后丢给界面

from django.shortcuts import render
from django.http import HttpResponse

from myapp.models import testdata
## 从models.py里提取数据库中的表testdata


# Create your views here.


def index(reguest):
    return HttpResponse("Hello World");

def getAllTestData(request):
    datalist = testdata.objects.all() ## 把表testdata下所有数据读出来

    for data in datalist:
        print(data) ## 遍历一下

    print(testdata.objects.get(uid = 1)) ## 找到表中uid=1的字段
    return  HttpResponse(datalist)  ## 给界面返回,表下的数据,以作测试  

6.2配置路由urls.py

界面接到数据了,但是别忘了最后一步,要让浏览器找到找到项目的界面(这个就是helloworld能出现的步骤了)

也就是到urls.py,路由处,添加一下浏览器的请求地址

from django.urls import path
from django.urls.resolvers import URLPattern

from . import views

urlpatterns = [
    path('', views.index, name='index'),
    ##mod ulysess ''为请求的地址,view.index为访问的地方,name是用来反向获取url的
    ##                          就是我们在views.py文件下写的index方法
    ##            请求地址里面,如果更改,例如是'aaa',那么地址栏里,xxx/myapp/aaa,''也就是不用填东西,才能访问到views.index

    path('getData', views.getAllTestData, name='getAllTestData')
]

七、浏览器显示数据库的数据

最后就是将后台起起来

到浏览器下,输入地址,加上getData

 浏览器上会输出datalist,终端会输出遍历的data和uid = 1的data

八、总结一下

  1. 要想把数据库的数据放到界面上(目的)
  2. 一开始要有数据库的驱动,让项目可以使用数据库(settings.py)
  3. 项目有用数据库的权限了,谁用呢,我们自己的应用!那就,让应用可以得到数据库的数据(models.py)
  4. 应用有数据了,我现在要把数据显示在界面上,就到视图(views.py)
  5. 界面收到数据了,要让用户看到啊,用户怎么看,用浏览器,那要让浏览器找到我们的界面,那就用到路由(urls.py)
  6. OVER
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值