目标

了解虚拟环境,熟悉Django项目、manage.py的指令、配置文件。

使用Django框架有一个全面的认识,包括开发流程、基本概念要素。

创建自己的第一个Django项目——图书管理系统(BMSTest)。

准备开发环境

编程语言 版本
Python 3.9.0

这篇博客安装教程挺详细的:Python环境安装教程

第三方库/框架 版本 说明
Django 3.1.2 Web开发框架
virtualenv 20.0.35 虚拟环境库
virtualenvwrapper-win 1.2.6 虚拟环境扩展包(指令便捷)

安装完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 install -i https://pypi.tuna.tsinghua.edu.cn/simple Django==3.1.2 

开发工具 版本
Pycharm 2020.2.3
Windows CMD /

以后大家可以安装一下PyCharm专业版来开发Django项目 PyCharm破解及基本配置教程

虚拟环境

了解虚拟环境

如果在一台机器上,想开发多个不同的项目,需要用到同一个包的不同版本,如果还使用上面的命令,在同一个目录下安装或者更新,其它的项目必须就无法运行了,怎么办呢?

解决方案:虚拟环境

那么什么是虚拟环境呢?

这里给大家举一个简单的例子,桌面上有一个word文件,我们打开修改这个文件,修改了一会之后发现还是原来的文件比较好,这个时候我想找回原来的文件就比较困难了。那么怎么办呢?就有这样一种解决方案,在修改文件之前,先复制一份,然后在副本文件里进行修改,这样即使发现修改有错,也不会影响原始文件。

虚拟环境其实就是对真实pyhton环境的复制,这样我们在复制的python环境中安装包就不会影响到真实的python环境。通过建立多个虚拟环境,在不同的虚拟环境中开发项目就实现了项目之间的隔离。

虚拟环境指令

指令 举例 作用
mkvirtualenv mkvirtualenv -p python3 虚拟环境名称 创建虚拟环境
deactivate deactivate 退出虚拟环境
workon workon 查看虚拟环境
workon workon 虚拟环境名称 使用虚拟环境
rmvirtualenv rmvirtualenv 虚拟环境名称 删除虚拟环境

注意:

先退出:deactivate 再删除:rmvirtualenv 虚拟环境名称 

虚拟环境创建

cmd窗口 下创建python3虚拟环境 py_django

mkvirtualenv -p python3 py_django 

Django教程 —— Django入门

建议大家先创建一个 DjangoProject的文件夹 专门来学习、练习 Django项目

图书管理系统(BMSTest)项目

在虚拟环境下安装Django框架

首先进入 py_django 虚拟环境

workon py_django 

然后pip安装Django

pip install django 

最后查看是否安装成功

pip list 

Django教程 —— Django入门

创建BMSTest项目

django-admin startproject 项目名称 例: django-admin startproject BMSTest 
dir

Django教程 —— Django入门

PyCharm打开项目

Django项目目录结构

Django教程 —— Django入门

Django项目目录说明

文件名 作用
manage.py 项目管理文件,通过它管理项目
BMSTest 与项目同名的目录,此处为BMSTest
__init__.py 一个空文件,作用是这个目录BMSTest可以被当作包使用
asgi.py Django3.0版本新出的异步功能模块
settings.py 项目的整体配置文件
urls.py 项目的URL配置文件
wsgi.py 项目与WSGI兼容的Web服务器入口

创建项目应用

进入虚拟环境

在Pycharm左下角找到 Terminal选项并打开

Django教程 —— Django入门

workon

Django教程 —— Django入门

PyCharm的Terminal终端跟CMD窗口是一样的。

创建book应用

在Terminal终端下输入指令创建book应用

python manage.py startapp book 

然后刷新或者等待一下,PyCharm就会显示你创建的应用

Django教程 —— Django入门

Django应用目录说明

文件夹/文件 作用
__init__.py 是一个空文件,表示当前目录book可以当作一个python包使用
migrations 数据库迁移文件夹
admin.py 跟网站的后台管理相关
apps.py Django的生成app(应用)名称的文件
models.py 数据库操作相关
tests.py 用于开发测试用例,在实际开发中会有专门的测试人员
views.py 接收浏览器请求,进行处理,返回页面相关

安装应用

BMSTestsetting.pyINSTALLED_APPS

Django教程 —— Django入门

在Web服务器上运行Django项目

在开发阶段,为了能够快速预览到开发的效果,Django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

PyCharm Terminal
python manage.py runserver ip:端口 例: python manage.py runserver 

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000

Django教程 —— Django入门

点击蓝色网址或者复制网址在浏览器打开就可以在浏览器显示Django项目默认的首页了。

PyCharm TerminalCtrl + C

Django教程 —— Django入门

配置中文语言、中国时区

BMSTestsetting.pyLANGUAGE_CODETIME_ZONE
LANGUAGE_CODE = 'zh-hans'   # 配置中文语言  TIME_ZONE = 'Asia/Shanghai' # 设置中国时区 

Django教程 —— Django入门

设置完了再运行服务器,Django项目的首页就变成中文了。

Django教程 —— Django入门

公众号

新建文件夹X

大自然用数百亿年创造出我们现实世界,而程序员用几百年创造出一个完全不同的虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。人们把1000视为权威,我们反其道行之,捍卫1024的地位。我们不是键盘侠,我们只是平凡世界中不凡的缔造者 。