云计算百科
云计算领域专业知识百科平台

django回忆录(Python的一些基本概念, pycharm和Anaconda的配置, 以及配合MySQL实现基础功能, 适合初学者了解)

django

说实在的, 如果是有些Python基础或者编程基础, 使用django开发本地网站的速度还是很快的, 特别是配合ai进行使用. 本人使用该框架作业的一个主要原因就是因为要做数据库大作业, 哥们想速通, 结果由于我一开始没有接触过这些方面的知识, 其实也不算快, 而且现在我也没有完成, 因为时间成本太大. 不过也是花了些时间去了解django这些东西, 为了让我自己做了起码得有一个成果, 或者有一个回忆, 就打算写一个这个.

django是什么?

大家一开始肯定都是什么都不会的嘛, 我刚开始也是, 很多东西也是都不知道, 不清楚. django是什么也不知道, 所以这里给大家简单说一下, django是个什么东西.

django和pytorch(深度学习方面的)或者大家平日听到一些什么英文单词, 比如说, 在"django框架"或者"pytorch框架"或者"TensorFlow框架"是一个性质的东西. 他们是一个框架, 一个包(工具包).

那么框架是什么呢? 它有什么作用? 我该怎么下载呢?

现在越来越多人都使用Python进行开发, 那这又是为啥呢? 因为Python中有很多被写好的工具, 假设哈, 我对Python现在也不不是很了解, 假设就是: 我们使用c语言的时候, 我们要实现两个实数相加, c=a+b. 或者两个实数相比, 返回更大那个, 那么在c语言当中是需要我们自己写一个函数去实现这些功能的, 但是Python不用, 如果你用Python, 你直接调用函数直接用这个写好的功能就行, 所以用Python就相对无脑简单很多, 说实在的, 能不动脑就不动脑, 这种无脑的感觉还是很爽的.

在Python中, 当一堆已经写好的函数聚集在一起的时候, 说的平常些就是, 当一堆已经写好的函数, 写好的功能打包在一起之后, 这个就叫做Python当中的工具包. 大家可以把这些写好的函数, 想象成一个个文件, 打包好的工具包就是一个文件夹这样.

那么我们为什么要对这些函数进行打包呢? 为什么要把这些写好的功能堆在一起呢? 这里大家可以联想一下上学期间, 分类试卷, 分类练习册, 差不多的道理.

你看哈, 当我们把语文类型的试卷分类好, 堆在一起, 打包在一起, 就放在抽屉中的某个地方, 这样我们下次要找语文试卷, 直接从这一堆语文试卷拿出来用就行.

以及当我们想做语文练习的时候, 我们可以直接拿出这一堆语文试卷, 在其中我想拿哪张试卷做练习, 都可以.

回到Python当中, 打包功能, 打包函数, 不是随意打包的, 而且它这个打包的逻辑其实也和我们分类语文试卷的逻辑也不太一样.

假设, 我们现在已经写好了: 两个实数比较是否相等的函数, 比较两个实数谁大谁小的函数. 这里大家可以看到, 这两个函数可以总结为干了一件什么事情? 这两个函数, 总的来说就是在 : 获得两个实数之间的关系嘛, 对吧.

这个时候, 我们就可以把这两个函数打包, 这个包名就叫 “两个实数之间的关系”.

这个时候, 我们下次想知道两个实数之间的关系的时候, 我们直接导入这个包"两个实数之间的关系", 如果我想知道这两个实数是否相等, 那我就调用这个包里面的 “两个实数比较是否相等的函数” . 如果我想知道这两个函数之间的大小关系, 那我就调用这个包里面的 “比较两个实数谁大谁小的函数” .

那么再做一个总结就是: 这个 “两个实数之间的关系” 的包, 它里面有函数(工具)可以帮助我知道这两个实数之间的关系是什么.

这个时候, 我们再把这个包, 取一个高大上的名称, 框架.

这里我再给大家捋一遍流程 : 现在领导叫我们写一个网页, 这个网页的功能要有: 让用户输入两个实数, 我们得要返回这两个实数的关系给用户.

我们已知Python中有一个包叫做 “两个实数之间的关系” ,这个包里面有工具(函数)可以直接调用 . 好, 我们现在要写这个网页的功能, 我们直接导入这个包, 直接调用这两个函数, ok, 这个网页的功能逻辑就写完了.

这就是以后我们工作的一个主要流程.

那我们为什么要把这些包取一个高大上的名称叫做框架呢?

这样, 大家可以把我们工作的流程想象成盖房子(我也不是很明白盖房子, 只是简单比喻) : 如果我们使用c语言盖房子, 那么地基, 以及房子的承重柱, 墙壁, 都得我们亲自去做, 亲自去盖. 这个流程很累.

要是我们使用Python盖房子呢, 现在假设我们要盖一个小洋房(盖一个什么样的房子类比成我们要实现一个什么功能), 诶, 正正好, Python已经给我们准备好了地基, 承重柱, 承重梁, 墙壁, 当一个房子有这些东西的时候, 房子其实已经差不多完工了, 你已经可以看出来, 这是一个房子了, 而且还是一个小洋房. 因为一个小洋房的框架已经出来了.

因为我们工作的时候, 首先就是要明确, 我们到底要做什么? 我们要盖什么样的房子, 要盖什么样的房子就要选择什么样的地基, 什么样的承重柱. 地基和承重柱, 就是各种函数, 因一个房子的构成是很复杂的, 不可能由单一函数(结构)完成.

我们工作的本质就是写一堆函数, 如果有现用的就用现用的, 比如printf是不用我们写的. 这一堆函数, 一起实现了一个大功能, 也就像是一堆东西(函数), 组成了一间房子.

那么现在大家需要知道的就是, 一个类型的房子不可能只有一种框架, Python中有很多同类型的框架(包), 这些框架实现的功能是差不多的, 也就是说, 这些框架都是小洋房的框架, 但是不同框架, 它的实现逻辑不一样, 思想不一样. 各有各的优点.

这个时候你就根据你具体的需求去选择一个具体的框架, 选择一个适合你目前工作目的的. 就是因为Python中有各种各样的框架, 所以Python才那么多人用, 因为确实便捷很多.

最后总结一下: 这里拿django和大家讲, django是一个框架, 这个框架主要的服务就是 “做web开发”(也就是做网页开发), 对应我们刚刚举例说到的 “获得两个实数之间的关系”, 有了这个django框架, 我们就可以在django这个框架的基础上, 继续盖房子, 一步步去实现我们的网页 (继续盖我们的小洋房).

相当于, 我们选择django这个框架,就是选择了一个房子的雏形, 接下来具体的这个房子的样子就要我们继续去装修, 继续去修建了.

接下来就是一个我用django和MySQL做"学生选课系统"的具体过程了, 其实也算是成功了的, 不过由于我现在学的东西有限, 由于我做东西比较急(想快点完成), 而且不希望因为这个作业打断我的学习路线, 所以我只是开了个头就没继续了.

不过开的这个头也足够了, 我也大致的了解了, 使用django开发的一个基础流程是什么.

这个视频在大家看完后面的视频再看(先配好环境, 大家先往下看, 把环境配好, 明白环境是什么之后再看这个.)

这个流程我主要是从b站学来的:20分钟快速用django+mysql+pycharm搭建一个自己的web网站_哔哩哔哩_bilibili

配置pycharm和Anaconda

首先呢, 我Python使用Anaconda进行管理的, 这里我也给大家讲一下, 什么叫Anaconda管理Python吧.

我们刚刚讲了框架(包)的概念, 说具体些其实就是工具包, 就像我们爸爸修理东西的时候拿出来的工具包, 里面有扳手, 电钻, 螺丝刀…

那么为什么我们现在还需要一个Anaconda来管理Python呢?

其实Anaconda在我的理解其实是一个再分类的过程.

怎么说呢, 我们写代码, 不是要有什么环境什么的嘛, 那么啥是环境呢? 其实环境也就是一堆工具包, 环境是一个再打包的过程, 就好像什么Java呀, 什么的, 我们下载的Java, 其实下载的是一堆工具包, 工具包里又是一堆函数.

好, 这里大家简单理解一下环境: 环境其实是一个再打包的过程.

这里我拿具体的例子给大家讲一下:

现在我打算做一个项目, 这个项目名字叫a, 因为我们使用Python写代码嘛, 那么起码我们得要有一个Python的环境, 我刚刚已经说了环境是什么, 大家先粗浅理解一下.

我这个项目, 主要的工作, 主要的方向是深度学习, 但是Python环境中没有包含深度学习的工具包嘛, Python环境中包含的一般都是一些基础的工具包, 保证你一些基础的代码能够运行起来.

那么我们就要去把深度学习的包下载下来, 比如说pytorch包, 这样, 我们就可以进行绝大部分深度学习的工作了.

假设我们现在就只有一个基础的环境, 也就是Python的基础环境, 我们把Pytorch包下载到了这个环境里面. 那么我们就可以进行我们深度学习的工作了.

好, 接下来, 你又有一堆项目, 这些项目有深度学习的, 有网站开发的, 各种各样, 为此, 你为这些项目, 选择了合适的工具包, 全部下载到了这个Python的基础环境里面.

大家注意噢, 工具包也是有不同版本的, 就像我们使用的软件一样, 会更新迭代的.

我们做项目的时候, 就拿深度学习来说, 不是所有项目只用一个版本的Pytorch包就可以了的, 有时候, 项目要求用1.0版本的Pytorch, 有时候项目要求用3.0的 pytorch, 那么我们得根据项目要求下载这些包呀.

那么现在大家想象一下, 你在一个房间里面(类比唯一的基础的Python环境), 这个房间地上有各种各样的工具包, 假设你现在要拆笔记本电脑的后盖(类比深度学习项目).

现在有不同类型的电脑(类比深度学习项目中的不同类别) , 有拯救者, 有天选, 有机械革命, 等等等等.

好了, 你就要去找工具包, 不同电脑后盖上的螺丝可不一样(假设), 你得选择正确的螺丝刀去拆.

现在房间里面有一堆工具包, 首先, 你得找到拆电脑后盖的工具包, 你就一顿好找. 因为房间里堆满了工具包昂.

好了, 找了一天之后你找到了所有拆电脑后盖的工具包, 惨的是啥, wc了, 这些工具包, 名字都tm一样的…

名字都叫pytorch, 但是你是知道, 这些工具包的版本其实是不一样的, 每一个版本都对应了一个类型的电脑.

但是tm名字都一样, 而且差别都很微小, 螺丝刀看起来都长一个样, 但是细节其实是不同的. 你得仔细看才能找到对应的工具包.

好了, 找到正确的工具包, 你又花了10天多(夸张手法).

大家明白我说什么了吗?

我们不能只有一间房间, 我们得要有多个房间, 来堆放不同类型, 不同版本的工具包. 每一个房间专门只用来拆一种类型的电脑后盖, 或者不拆电脑后盖, 拆电视机后盖(其他种类的项目, 比如网站开发).

一个房间, 其实就是一个环境, 就像你家的布局一样, 有客厅有厨房, 有卧室, 有厕所, 有书房, 明白嘛.

厨房是做饭炒菜的环境. 客厅是招待客人的环境. 卧室是你睡觉的环境, 厕所是你拉屎的环境, 书房是你学习的环境.

不同环境干不同的事情. 我发现这个例子贴切一点. 厕所里面的马桶/蹲坑就是一个工具包, 承载你的屎. 厨房的铲子, 炉灶, 酱油, 集合成一个工具包, 用来给你炒菜用.

明白了嘛, 我们做项目也是一样的, 什么环境就干什么事情, 什么环境就装什么工具包. 这样我们做项目才会井井有条.

好, 讲回Anaconda, Anaconda就是提供了一个我们管理环境, 创建环境的一个工具, 来, 给大家看看是啥样的:

在这里插入图片描述

Anaconda下载和配置很简单的, 你们直接在CSDN搜就可以了, 一般都很详细了, 然后你们再搜一下怎么创建环境, 怎么在环境里下载包, 这些也是很简单的, 就是大家刚刚看到的那个图片, 创建虚拟环境和在对应环境下载工具包都可以在那个页面完成.

麻烦的是编译器的配置, 我使用pycharm的嘛, 说实在的, 现在的pycharm和以前版本配置环境不太一样, 麻烦的要死, 我这里把我之前看过的一些比较好的博客贴出来给大家, 大家可以看这些博客去配置环境.

算了, 我看了一下, 都挺鸡肋的. 这样, 我给大家简单说一下2025年5月20日现在怎么做的吧.

不过我先建议大家看个视频, 这个视频是我配置深度学习环境的时候看的, 我感觉很有用, 不了解深度学习, 看了我这篇文章你们也可以大概看懂那个视频. (复制网址去看)

https://www.bilibili.com/video/BV1S5411X7FY/?share_source=copy_web&vd_source=c51e0379c8c94d490d635f284168ace1

他讲的也很详细.

其次就是编译器的配置了, 编译器配置其实也还算好, 不过旧版和新版编译器不太一样. 这里给大家看一下

在这里插入图片描述

或者大家新建项目的时候选择环境, 步骤差不多:

在这里插入图片描述

简单说一下过程

这里大家就可以去看这个视频了: 20分钟快速用django+mysql+pycharm搭建一个自己的web网站_哔哩哔哩_bilibili 那么我们正式进入到django当中:其实我给大家的b站视频其实讲的很清楚了其实, 不过可能看完视频, 对一个应用的开发顺序还是比较懵, 我就再简单的说一下:(这里面会涉及很多名词,由于篇幅原因,就不展开说了, 大家可以ai一下就可以明白了, 问的时候可以让ai类比生活当中的事件, 或者让ai做一下比喻什么的, 这样就更易懂一些. 当然了, 这一篇东西都是我自己写的)

这里就拿学生选课系统来说, 首先, 这是一个大工程了, 它这一整个工程由多个模块来实现, 展开说一下就是:

用户认证模块(这里面实现用户注册,登录, 用户信息管理的功能), 课程信息管理模块(这里面主要功能就是记录课程的详细信息, 实现课程信息的增删查改), 然后就是智能选课模块(这里实现主要的选课逻辑, 筛选逻辑, 还有防冲突算法的实现), 最后是学分计算系统(好一点的选课系统, 你得有这个, 就是计算各种类型的课的学分嘛, 比如必修课, 公选课, 选修课的学分计算).

在django中, 一个模块就是一个文件夹, 这一个模块, 又叫做一个应用, 明白嘛.

在这里插入图片描述

当我们创建好应用文件夹之后, 就要先去配置setting文件, 尤其我们还使用了MySQL数据库, 这些配置大家都可以通过看视频看明白了, 我就不多说了.

  • 配置setting文件
  • 主要就是视频里说的内容

  • 配置主路由
  • 我们为什么要配置路由呢? 路由其实就是一个网址粗俗的理解. 我们创建的那个网页得要有一个网址吧, 对吧, 那么电脑就会根据路由一步步找到我们实现功能的地方, 最后我会画出来给大家的. 电脑先找到主路由, 主路由又去找子路由… 这里大家对路由想有个详细了解, 问一下ai就可以了

    在这里插入图片描述

  • 配置子路由 在这里插入图片描述

  • 完成功能的逻辑函数

  • 这其实可以理解成就是后端工作, 后端就是写功能逻辑的地方

    在这里插入图片描述

  • 写html文件
  • 这其实相当于写前端, 前端就是表面, 网页表面, 前端就是把网页的表面写出来, 把样子写出来展现给大家 . 在这里插入图片描述

    当然了, 这就是一个简单的顺序, 如果复杂一点的就要额外的去创建一些文件和文件夹了.

    由于整个过程画出来太长了, 你们也看不清, 你们看我上面写的顺序结合视频里up讲的, 理解一下, 或者多听几遍视频, 是可以理解的, 结合ai. 其实总的来说(不严谨的说): 就是先找到主路由, 主路由去找子路由, 然后去找实现功能的地方, 然后去找到前端页面.(不严谨的哈, 不过大致是这样的)

    看完视频和这篇东西, 大家起码是不太会很懵的, 而且起码能写一个注册和登录功能, 其他功能大致是类似的, 不过就需要大家继续深入学习了, 因为我主要使用c++, 所以Python这边网站开发一般只有很急的时候才会用, Python更多拿来写深度学习了.

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » django回忆录(Python的一些基本概念, pycharm和Anaconda的配置, 以及配合MySQL实现基础功能, 适合初学者了解)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!