Django学习1——安装、创建项目、数据库、用户管理案例
作者:mmseoamin日期:2023-12-18

目录

1、 安装django

1.1django是第三方模块,用pip install django 安装:

1.2 python的安装目录 :

2、创建项目

2.1在终端创建的步骤

 执行过程

2.2使用pycharm(企业版)创建 django项目

2.3对比两种方式

2.4默认文件介绍 

2.5app的创建和说明

创建app:

app目录:

2.6启动运行django

注意:加载目录不对,可能会导致项目出错

2.7模板和静态文件

2.7.1再写一个页面

 2.7.2templates模板

2.7.3静态文件 

2.8django的模板语法

 案例 

2.9请求和相应

3个请求

3个响应

 案例:用户登录

2.10orm_连接MySQL的模块

安装第三方模块:

2.11orm-创建数据

1.自己创建数据库

2.12orm_连接MySQL的配置

2.Django连接数据库

2.13orm_类创建表

3.django操作表

2.14orm_创建和修改表结构

添加(如下)/删除表(删除相应的语句,然后重新执行2条命令语句)

修改表中的列

以后在开发中想要对表结构进行调整 

2.15orm-增删改查

操作表中的数据

新建数据:

 删除数据:

获取数据:

 更新数据:

 案例:用户管理

1、展示用户列表

2、添加用户

 3、删除用户


跟着B站武沛齐老师学习的笔记.....

1、 安装django

1.1django是第三方模块,用pip install django 安装:

Django学习1——安装、创建项目、数据库、用户管理案例,第1张

1.2 python的安装目录 :

django除了会把安装的模块(框架的源码,需要导入并利用其中的功能)放到..../Lib/site-pachages中外,还会生产一个文件(这是一个帮助我们创建项目的工具)放在..../Scripts中。

Django学习1——安装、创建项目、数据库、用户管理案例,第2张

Django学习1——安装、创建项目、数据库、用户管理案例,第3张

2、创建项目

django中项目会有一些默认的文件和默认的文件夹

2.1在终端创建的步骤

  • 打开终端
  • 进入某个目录(项目想放在的地方)
    D:\django idea\disease predication>
    • 执行命令,创建项目
      在django-admin所在目录执行命令
      "D:\software\study software\pycharm\python\Scripts\django-admin.exe" startproject 项目名称
      如果D:\software\study software\pycharm\python\Scripts已经加入到系统环境变量,则可执行:
      django-admin.exe startproject 项目名称

       执行过程

      执行命令创建项目以及创建成功之后的项目文件概览:

      Django学习1——安装、创建项目、数据库、用户管理案例,第4张

      Django学习1——安装、创建项目、数据库、用户管理案例,第5张

      2.2使用pycharm(企业版)创建 django项目

      创建操作:

      Django学习1——安装、创建项目、数据库、用户管理案例,第6张

      Django学习1——安装、创建项目、数据库、用户管理案例,第7张

      2.3对比两种方式

      • 命令行:创建的项目是标准的
      • pycharm: 在标准的基础上默认加了东西   

                1、创建templates了目录,【删除】即可

                2、在settings.py多了一句【删除】 Django学习1——安装、创建项目、数据库、用户管理案例,第8张            

        2.4默认文件介绍 

        Django学习1——安装、创建项目、数据库、用户管理案例,第9张

        2.5app的创建和说明

        app是一个应用,django中是可以编写大型的项目的,每一个大项目中有很多分类的小功能,支持拆分成一个个小的app

        ——项目
            ——app,用户管理【表结构、函数、HTML模板、CSS】
            ——app,订单管理
            ——app,API
            ——app,网站
        每一个app可以有自己独立的数据库的表结构.....

        创建app:

        进入文件所在目录的终端,执行python manage.py startapp app01 命令创建 app。但是在创建的过程中出现了以下的报错:未能解决

        Django学习1——安装、创建项目、数据库、用户管理案例,第10张

         参考了:http://t.csdn.cn/imPci

        重新建立了 项目,目前可以成功创建app,之后的操作学习以新建的djangoProject项目展开 

        Django学习1——安装、创建项目、数据库、用户管理案例,第11张

        app目录:

        Django学习1——安装、创建项目、数据库、用户管理案例,第12张

        2.6启动运行django

        • 确保app已注册【settings.py】Django学习1——安装、创建项目、数据库、用户管理案例,第13张
        •  编写URL和视图函数对应关系【urls.py】
        • 编写视图函数【views.py】Django学习1——安装、创建项目、数据库、用户管理案例,第14张

          用户如果访问这个URL,会执行这个函数,函数返回了一个“欢迎使用” 的字符串,用户的浏览器上就会出现。

          • 启动django项目
            • 命令行启动:python manage.py runserver
            • PyCharm启动:Django学习1——安装、创建项目、数据库、用户管理案例,第15张

             Django学习1——安装、创建项目、数据库、用户管理案例,第16张

            注意:加载目录不对,可能会导致项目出错

            Django学习1——安装、创建项目、数据库、用户管理案例,第17张

            2.7模板和静态文件

            2.7.1再写一个页面

            所有的配置做完了,之后做开发的本质就是:在urls中添加一个对应关系,在views中写一个视图函数处理请求。

            Django学习1——安装、创建项目、数据库、用户管理案例,第18张

             2.7.2templates模板

            返回一个HTML

            Django学习1——安装、创建项目、数据库、用户管理案例,第19张

            2.7.3静态文件 

            •  在app目录下创建static文件夹

              Django学习1——安装、创建项目、数据库、用户管理案例,第20张

              • 引入静态文件 

                Django学习1——安装、创建项目、数据库、用户管理案例,第21张

                2.8django的模板语法

                模板语法是django开发的,本质:在HTML中写一些占位符 ,由数据对这些占位符进行替换和处理 

                Django学习1——安装、创建项目、数据库、用户管理案例,第22张

                用户浏览器接收到的:

                Django学习1——安装、创建项目、数据库、用户管理案例,第23张

                Django学习1——安装、创建项目、数据库、用户管理案例,第24张

                Django学习1——安装、创建项目、数据库、用户管理案例,第25张

                 案例 

                伪联通消息中心

                http://www.chinaunicom.com/news/list202304.html

                后续完善

                2.9请求和相应

                3个请求

                Django学习1——安装、创建项目、数据库、用户管理案例,第26张
                通过URL传递参数

                 GET请求时放在明面上传递的,POST请求偷偷传递的,表面看不到

                3个响应

                Django学习1——安装、创建项目、数据库、用户管理案例,第27张

                 关于重定向:浏览器向某个网站发送请求,某个网站返回值告诉浏览器你去别的地方吧,浏览器自己去这个地了,跟网站没有关系,即下图的第二种形式:Django学习1——安装、创建项目、数据库、用户管理案例,第28张

                 案例:用户登录

                报错解决:

                Django学习1——安装、创建项目、数据库、用户管理案例,第29张

                以上错误的解决办法如下:默认情况下Django比Flask多了一个功能,CSRF token的验证

                Django学习1——安装、创建项目、数据库、用户管理案例,第30张

                 代码:Django学习1——安装、创建项目、数据库、用户管理案例,第31张

                 最终实现的一个效果:

                Django学习1——安装、创建项目、数据库、用户管理案例,第32张

                2.10orm_连接MySQL的模块

                Django学习1——安装、创建项目、数据库、用户管理案例,第33张

                Django开发中引入了一个更简单操作数据库的机制。操作数据库更简单,内部提供了ORM框架。

                Django学习1——安装、创建项目、数据库、用户管理案例,第34张

                安装第三方模块:

                pip install  mysqlclient

                安装出错:

                Django学习1——安装、创建项目、数据库、用户管理案例,第35张

                Django学习1——安装、创建项目、数据库、用户管理案例,第36张

                 解决办法:(进入python解释器所在目录,右键打开终端,执行命令进行安装)

                Django学习1——安装、创建项目、数据库、用户管理案例,第37张

                2.11orm-创建数据库

                ORM可以帮我们做两件事:

                • 创建、删除、修改数据库中的表(不用自己写SQL语句)【无法创建数据库】
                • 操作表中的数据(不用写SQL语句)因为Django会将你写的代码通过ORM翻译成SQl语句

                  1.自己创建数据库

                  1、打开MySQL 8.0 Command Line Client

                  2、输入数据库密码

                  3、show databases;通常用于在关系数据库管理系统(如MySQL、PostgreSQL、SQLite等)中列出所有可用的数据库

                  4、create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;创建数据库

                  • 启动MySQL服务
                  • 自带工具创建数据库
                    create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

                    Django学习1——安装、创建项目、数据库、用户管理案例,第38张

                     

                    Django学习1——安装、创建项目、数据库、用户管理案例,第39张
                    任务栏搜索打开

                    基础数据库的学习:(144条消息) 数据库与身份认证_大炮不想学习的博客-CSDN博客

                    2.12orm_连接MySQL的配置

                    自己电脑的mysql环境变量配置:

                    Django学习1——安装、创建项目、数据库、用户管理案例,第40张

                    配置环境变量

                    Django学习1——安装、创建项目、数据库、用户管理案例,第41张 看是否配置成功

                    Django学习1——安装、创建项目、数据库、用户管理案例,第42张

                    2.Django连接数据库

                    在settings.py文件中进行配置和修改

                    默认Database用的sqlite文件数据库

                    Django学习1——安装、创建项目、数据库、用户管理案例,第43张

                    换成下边这个:Django会默认帮我们连接数据库

                    Django学习1——安装、创建项目、数据库、用户管理案例,第44张

                    2.13orm_类创建表

                    3.django操作表

                    • 创建表
                    • 删除表
                    • 修改表

                      创建表:在models.py中

                      Django学习1——安装、创建项目、数据库、用户管理案例,第45张

                      # UserInfo是类 必须继承  models.Model
                      class UserInfo(models.Model):
                          # 字段
                          name = models.CharField(max_length=32)
                          password = models.CharField(max_length=64)
                          age = models.IntegerField()

                      执行命令:

                      python manage.py makemigrations
                      python manage.py migrate

                      注意:

                      1. 确保python解释器安装了Mysqlclient
                      2. 确保当前所在的路径是当前项目的根目录
                      3. app需要提前注册(app没有注册到setting.py里边,models.py中的表不会提交到数据库 )

                      这里特别容易出错,更改一下解释器重新安装

                      Django学习1——安装、创建项目、数据库、用户管理案例,第46张

                      最终进入到manage.py所在的目录,打开终端,执行命令,才得以成功安装!!!!Django学习1——安装、创建项目、数据库、用户管理案例,第47张

                      但是以上安装的操作,后续在数据库中查找不到表

                      注意:项目的路径中中不能有中文,后来移动的项目的位置,重新执行了以下命令:

                      1. pip install mysqlcliennt
                      2. python manage.py makemigrations
                      3. python manage.py migrate

                      Django学习1——安装、创建项目、数据库、用户管理案例,第48张

                       命令:

                      use gx_day14切换到名为 "gx_day14" 的数据库

                      show tables;显示当前数据库中所有表格的SQL命令

                      desc app01_userinfo;可以看到创建的表

                       为什么除了app01_userinfo这个表,还有一些其他的表?因为一旦执行命令回去内部找每一个app里边的models.py根据语句生成相应的表,但是Django默认提供了很多其他的app(django内置提供的功能,这些功能都是依赖于数据库的一些表的), 在setting.py中可以看到,所以生成表的时候把默认的一些表也生成了。不想用直接在下边图片中的对应位置注释掉即可Django学习1——安装、创建项目、数据库、用户管理案例,第49张

                      输入命令desc app01_userinfo;可以看到创建的表Django学习1——安装、创建项目、数据库、用户管理案例,第50张

                      2.14orm_创建和修改表结构

                      添加(如下)/删除表(删除相应的语句,然后重新执行2条命令语句)

                      Django学习1——安装、创建项目、数据库、用户管理案例,第51张

                      修改表中的列

                      由于已存在的列中可能有数据,所以新增列必须要指定新增列对应的数据:

                      Django学习1——安装、创建项目、数据库、用户管理案例,第52张

                      1. 手动输入值
                      2. 设置默认值
                      3. 允许为空

                      Django学习1——安装、创建项目、数据库、用户管理案例,第53张

                      Django学习1——安装、创建项目、数据库、用户管理案例,第54张

                      以后在开发中想要对表结构进行调整 

                      在models.py文件中操作类即可,然后执行命令:

                      python manage.py makemigrations
                      python manage.py migrate

                      2.15orm-增删改查

                      操作表中的数据

                      新建数据

                      Django学习1——安装、创建项目、数据库、用户管理案例,第55张

                       写个url来测试该功能

                      Django学习1——安装、创建项目、数据库、用户管理案例,第56张

                      新建数据:

                          # #### 1.新建 ####
                          # Department.objects.create(title="销售部")
                          # Department.objects.create(title="IT部")
                          # Department.objects.create(title="运营部")
                          # UserInfo.objects.create(name="武沛齐", password="123", age=19)
                          # UserInfo.objects.create(name="朱虎飞", password="666", age=29)
                          # UserInfo.objects.create(name="吴阳军", password="666")

                       删除数据:

                          # #### 2.删除 ####
                          # UserInfo.objects.filter(id=3).delete()
                          # Department.objects.all().delete()
                          # UserInfo.objects.all().delete()

                      获取数据:

                      获取符合条件的所有数据

                      Django学习1——安装、创建项目、数据库、用户管理案例,第57张

                      获取某一行数据

                      Django学习1——安装、创建项目、数据库、用户管理案例,第58张

                       更新数据:

                          # #### 4.更新数据 ####
                          UserInfo.objects.all().update(password=999)
                          UserInfo.objects.filter(id=19).update(age=999)
                          UserInfo.objects.filter(name="朱虎飞").update(age=999)
                          return HttpResponse("耶耶耶")

                       案例:用户管理

                      1、展示用户列表

                      • url.py
                      • view.py函数

                        获取所有用户的信息

                        html渲染

                        Django学习1——安装、创建项目、数据库、用户管理案例,第59张

                        2、添加用户

                        实现用户输入用户,然后添加到数据库