Django教程 —— Django入门 柔情只为你懂 2022-12-16 03:57 299阅读 0赞 ## 目标 ## > 了解虚拟环境,熟悉Django项目、manage.py的指令、配置文件。 > > 使用Django框架有一个全面的认识,包括开发流程、基本概念要素。 > > 创建自己的第一个Django项目——图书管理系统(BMSTest)。 ## 准备开发环境 ## <table> <thead> <tr> <th>编程语言</th> <th>版本</th> </tr> </thead> <tbody> <tr> <td>Python</td> <td>3.7.9</td> </tr> </tbody> </table> 这篇博客安装教程挺详细的:[Python环境安装教程][Python] <table> <thead> <tr> <th>第三方库/框架</th> <th>版本</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>Django</td> <td>3.1.2</td> <td>Web开发框架</td> </tr> <tr> <td>virtualenv</td> <td>20.0.35</td> <td>虚拟环境库</td> </tr> <tr> <td>virtualenvwrapper-win</td> <td>1.2.6</td> <td>虚拟环境扩展包(指令便捷)</td> </tr> </tbody> </table> 安装完Python,利用Pip工具来安装 **Django框架、virtualenv** pip install Django pip install virtualenv 如果要指定版本 pip install Django==3.1.2 pip install virtualenv==20.0.35 pip install virtualenvwrapper-win==1.2.6 可能默认的源安装第三库会有点慢,可以配置一下其他的镜像源。[Pip安装第三方库网速慢(解决方案)][Pip] 如果只想临时安装第三库快一点,可以临时使用其他镜像源。 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Django==3.1.2 <table> <thead> <tr> <th>开发工具</th> <th>版本</th> </tr> </thead> <tbody> <tr> <td>Pycharm</td> <td>2020.2.3</td> </tr> <tr> <td>Windows CMD</td> <td>/</td> </tr> </tbody> </table> 以后大家可以安装一下PyCharm专业版来开发Django项目 推荐文章 [PyCharm专业版下载与完美使用][PyCharm] ## 虚拟环境 ## ### 了解虚拟环境 ### 如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢? > 解决方案:**虚拟环境**。 那么什么是虚拟环境呢? 这里给大家举一个简单的例子,桌面上有一个word文件,我们打开修改这个文件,修改了一会之后发现还是原来的文件比较好,这个时候我想找回原来的文件就比较困难了。那么怎么办呢?就有这样一种解决方案,在修改文件之前,先复制一份,然后在副本文件里进行修改,这样即使发现修改有错,也不会影响原始文件。 > **虚拟环境其实就是对真实pyhton环境的复制**,这样我们在复制的python环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。 ### 虚拟环境指令 ### <table> <thead> <tr> <th>指令</th> <th>举例</th> <th>作用</th> </tr> </thead> <tbody> <tr> <td>mkvirtualenv</td> <td>mkvirtualenv -p python3 虚拟环境名称</td> <td>创建虚拟环境</td> </tr> <tr> <td>deactivate</td> <td>deactivate</td> <td>退出虚拟环境</td> </tr> <tr> <td>workon</td> <td>workon</td> <td>查看虚拟环境</td> </tr> <tr> <td>workon</td> <td>workon 虚拟环境名称</td> <td>使用虚拟环境</td> </tr> <tr> <td>rmvirtualenv</td> <td>rmvirtualenv 虚拟环境名称</td> <td>删除虚拟环境</td> </tr> </tbody> </table> **注意:** 先退出:deactivate 再删除:rmvirtualenv 虚拟环境名称 ### 虚拟环境创建 ### 在 **cmd窗口** 下创建python3虚拟环境 **py\_django**: mkvirtualenv -p python3 py_django ![cmd创建虚拟环境][cmd] 建议大家先创建一个 **DjangoProject的文件夹** 专门来学习、练习 **Django项目**。 **注意:** 创建的虚拟环境默认在 `C:\Users\Administrator\Envs` , `Administrator` 代表我当前电脑使用的用户你们的可能在其他用户下,如需指定创建的虚拟环境的存放的路径,可以在电脑的系统环境变量中添加 `WORKON_HOME` 系统变量 ![设置环境变量 - 指定虚拟环境存放的路径][-] ## 图书管理系统(BMSTest)项目 ## ### 在虚拟环境下安装Django框架 ### 首先进入 **py\_django** 虚拟环境 workon py_django 然后pip安装Django pip install django 最后查看是否安装成功 pip list ![查看Django框架][Django] ### 创建BMSTest项目 ### django-admin startproject 项目名称 例: django-admin startproject BMSTest 利用 **CMD** 的 `dir` 命令来看一下项目是否创建成功 ![查看Django项目][Django 1] ### PyCharm打开项目 ### #### Django项目目录结构 #### ![Django项目目录结构][Django 2] #### Django项目目录说明 #### <table> <thead> <tr> <th>文件名</th> <th>作用</th> </tr> </thead> <tbody> <tr> <td>manage.py</td> <td>项目管理文件,通过它管理项目</td> </tr> <tr> <td>BMSTest</td> <td>与项目同名的目录,此处为BMSTest</td> </tr> <tr> <td>__init__.py</td> <td>一个空文件,作用是这个目录BMSTest可以被当作包使用</td> </tr> <tr> <td>asgi.py</td> <td>Django3.0版本新出的异步功能模块</td> </tr> <tr> <td>settings.py</td> <td>项目的整体配置文件</td> </tr> <tr> <td>urls.py</td> <td>项目的URL配置文件</td> </tr> <tr> <td>wsgi.py</td> <td>项目与WSGI兼容的Web服务器入口</td> </tr> </tbody> </table> ### 创建项目应用 ### #### 进入虚拟环境 #### 在 `Pycharm` 左下角找到 `Terminal` 选项并打开 ![PyCharm Terminal终端][PyCharm Terminal] 然后利用 `workon` 命令进入虚拟环境 ![进入虚拟环境][20201018143131391.png_pic_center] PyCharm的Terminal终端跟CMD窗口是一样的。 #### 创建book应用 #### 在Terminal终端下输入指令创建book应用 python manage.py startapp book 然后刷新或者等待一下,PyCharm就会显示你创建的应用 ![Django项目应用][Django 3] #### Django应用目录说明 #### <table> <thead> <tr> <th>文件夹/文件</th> <th>作用</th> </tr> </thead> <tbody> <tr> <td>__init__.py</td> <td>是一个空文件,表示当前目录book可以当作一个python包使用</td> </tr> <tr> <td>migrations</td> <td>数据库迁移文件夹</td> </tr> <tr> <td>admin.py</td> <td>跟网站的后台管理相关</td> </tr> <tr> <td>apps.py</td> <td>Django的生成app(应用)名称的文件</td> </tr> <tr> <td>models.py</td> <td>数据库操作相关</td> </tr> <tr> <td>tests.py</td> <td>用于开发测试用例,在实际开发中会有专门的测试人员</td> </tr> <tr> <td>views.py</td> <td>接收浏览器请求,进行处理,返回页面相关</td> </tr> </tbody> </table> #### 安装应用 #### 在 `BMSTest` 下的 `setting.py` 文中中找到 `INSTALLED_APPS`,并在其后面添加刚刚创建的Django应用( `book` )。 ![安装Django应用][Django 4] ### 在Web服务器上运行Django项目 ### 在开发阶段,为了能够快速预览到开发的效果,Django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。 在 `PyCharm Terminal` 终端中输入如下指令运行服务器: python manage.py runserver ip:端口 例: python manage.py runserver **可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000**。 ![运行Django Web服务器][Django Web] 点击蓝色网址或者复制网址在浏览器打开就可以在浏览器显示Django项目默认的首页了。 在 `PyCharm Terminal` 终端上按住 `Ctrl + C` 就可结束服务器 ![Django项目首页图][Django 5] #### 配置中文语言、中国时区 #### 还是在 `BMSTest` 项目下 `setting.py` 中找到 `LANGUAGE_CODE` 、`TIME_ZONE` ,并设置成: LANGUAGE_CODE = 'zh-hans' # 配置中文语言 TIME_ZONE = 'Asia/Shanghai' # 设置中国时区 ![设置中文语言、中国时区][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjI5ODU3_size_16_color_FFFFFF_t_70_pic_center] 设置完了再运行服务器,Django项目的首页就变成中文了。 ![Django项目中文首页][Django 6] ## 公众号 ## **新建文件夹X** > 大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。 [Python]: https://blog.csdn.net/qq_43629857/article/details/105453115 [Pip]: https://blog.csdn.net/qq_43629857/article/details/105117129 [PyCharm]: https://blog.csdn.net/qq_43629857/article/details/116092397 [cmd]: /images/20221123/f41f532120c84564b158209359efa1f4.png [-]: /images/20221123/a3ef10cd5fd84dab9aef13df02665044.png [Django]: /images/20221123/b73c5686e03f4cb7bd3e7c627f126281.png [Django 1]: /images/20221123/1764ba32d1744f0886aa2b63cb686d2f.png [Django 2]: /images/20221123/f8379d47dd0f4c908f386054f9304141.png [PyCharm Terminal]: /images/20221123/d449f740e6ec43629da7c5b5bdac675c.png [20201018143131391.png_pic_center]: /images/20221123/c2233008efb4442d958d1305ba7be3a1.png [Django 3]: /images/20221123/c3932e9470424845a1db513a58873b08.png [Django 4]: /images/20221123/d6b1fe09598644369656e00beaedf514.png [Django Web]: /images/20221123/456e3fa96a884354bb77d71f70db0739.png [Django 5]: /images/20221123/03457be9e0974afb8be9dbe8986f7e4d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjI5ODU3_size_16_color_FFFFFF_t_70_pic_center]: /images/20221123/03525c6f947f43ce8c5b1b5b4a987b9c.png [Django 6]: /images/20221123/c371c50a8b16492b898e7a0d14b3990f.png
还没有评论,来说两句吧...