Django是基于Python的Web框架,依赖Python环境,所以需要提前安装好Python解释器。
关于Python的安装,请参考https://www.liujiangblog.com站点中Python教程的相关部分,这里不再赘述。
建议安装最新版本的Python!
Django各版本对Python版本的依赖关系如下表所示:
Django 版本 | Python 版本 |
---|---|
1.11 | 2.7, 3.4, 3.5, 3.6, 3.7 (1.11.17 添加) |
2.0 | 3.4,3.5,3.6,3.7 |
2.1 | 3.5,3.6,3.7 |
2.2 | 3.5, 3.6, 3.7, 3.8 (2.2.8 添加) |
3.0 | 3.6, 3.7, 3.8 |
3.1 | 3.6, 3.7, 3.8 |
Django本身的版本规划时间图如下所示:
未来版本的计划节点:
版本号 | 预计发布时间 | 主线维护结束时间 | 扩展支持结束时间 |
---|---|---|---|
3.2 LTS | 2021年4月 | 2021年12月 | 2024年4月 |
4.0 | 2021年12月 | 2022年8月 | 2023年4月 |
4.1 | 2022年8月 | 2023年4月 | 2023年12月 |
4.2 LTS | 2023年4月 | 2023年12月 | 2026年4月 |
从上表中可以看出Django的版本更新迭代非常快,大版本号几乎两年加一。实际上,对于非重度用户,Django的版本差别并没有你想象中那么大,完全不必为版本的问题头疼。
一、安装Django
1. 通过pip安装Django
如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本。
Django提供3种发行版本,推荐使用官方的稳定版本:
- 你的操作系统提供的发行版本(Linux)
- 官方稳定版本(推荐)
- 开发测试版本
Django本质上是Python语言的一个类库,因此可以通过pip工具安装。这也是最简便、最好的安装方式。不建议通过下载安装包或者编译源码进行安装的方法,除非你的环境无法连接外部网络。
以windows系统中使用pip命令安装为例:win+r
,调出cmd,以管理员身份运行命令:pip install django
,自动安装PyPi提供的最新版本。
如果要指定版本,可使用pip install django==3.0.6
这种形式。
在Linux操作系统中,也是一样,使用pip工具包安装Django。
2. 验证安装
进入Python交互式环境(注意一定要进入刚才安装了Django的Python解释器),按下面所示查看安装版本:
>>> import django
>>> django.get_version()
3.1
或者使用pip list
命令,查看是否存在Django模块。
3. 配置系统环境
成功安装Django后,以windows为例,在Python解释器目录下的Scripts文件夹中可找到一个django-admin.exe
文件,这是Django的核心管理程序,最好将它加入操作系统的环境变量中,这样在以后的调用会比较方便。
如何进入环境变量设置界面,请参考Python教程中的相关部分。如下图所示,在Path变量中添加Scripts目录。
回到cmd界面,直接运行django-admin help
,如果能看到下面的内容表示环境变量设置成功。
D:\test>django-admin help
Type 'django-admin help <subcommand>' for help on a specific subcommand.
Available subcommands:
[django]
check
compilemessages
createcachetable
dbshell
...以下省略
实际上,对Windows操作系统环境变量path的编辑,只是为了在命令行下可以无需带路径,直接执行一些程序,而不会出现程序文件无法找到的错误。
二、 创建项目
1. 在cmd或Linux命令行环境下创建Django项目
在windows的cmd环境中(Linux类同),输入下面的命令:
django-admin startproject mysite
这样就会在当前目录下创建一个叫做mysite
的Django项目。
D:\test>django-admin startproject mysite
D:\test>dir
D:\test 的目录
<DIR> .
<DIR> ..
<DIR> mysite
可以看到Django自动帮我们创建了一个mysite
文件夹,这是项目的根目录。在mysite根目录中,又有一个mysite目录,这是整个项目的配置文件目录(一定不要和同名的根目录混淆),还有一个manage.py
文件,它是整个项目的管理脚本。
D:\test>cd mysite
D:\test\mysite>dir
D:\test\mysite 的目录
<DIR> .
<DIR> ..
manage.py
<DIR> mysite
D:\test\mysite>cd mysite
D:\test\mysite\mysite>dir
D:\test\mysite\mysite 的目录
<DIR> .
<DIR> ..
settings.py
urls.py
wsgi.py
__init__.py
回到项目根目录下,运行python manage.py runserver
,Django会以127.0.0.1:8000
这个默认配置启动开发服务器。
D:\test\mysite>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 31, 2020 - 08:57:27
Django version 3.1, using settings 'django3_test.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
打开你的浏览器,在地址栏输入127.0.0.1:8000
,如果看到如下的界面,说明Django一切正常,你可以开始Django之旅了!
2. 在windows下使用Pycharm创建Django工程
事实上,我们一般不使用命令行,而是直接在Pycharm中创建Django项目。
Pycharm是进行Django开发的最佳IDE,请大家自行安装,建议使用最新
的专业
版本。(非专业版的Pycharm不提供Django开发模块,非最新版的Pycharm可能对最新的Python或者Django支持不好。比如Pycharm2018对Python3.8的支持就不好,并且这些坑不好填。)
2018以后的Pycharm版本都支持同时创建虚拟环境和Django项目。
下面以Pycharm 2020.1专业版为例。(可以安装中文插件)
首先打开Pycharm,点击file-->new project
,选择左边的Django,出现下面的对话框,注意下面的红框提示:
- 在Location处选择工程目录
- 在
使用此项目新建环境
处选择Virtualenv(这可能需要你提前使用pip install virtualenv
命令安装虚拟工具virtualenv)。通常情况下,虚拟环境会以venv的名字,自动在工程目录下生成。 - 在基本解释器处,选择你要使用的Python解释器
- 两个单选框,根据需要自行选择
- 如果想使用现成的解释器或者虚拟环境,请选择
现有解释器
再点开下方的More Settings
:
- 模板语言: 选择使用的模板语言,默认Django就行。
- 模板文件夹:这是Pycharm安利给我们的功能,用于额外创建一个工程级别的模板文件的保存目录,可以不设置,让它空着。
template
是目录的名字,可换成任何你喜欢的名字。这里我们不选择,因为可能出现os模块缺少的bug。 - 应用程序名称: 自动帮你创建一个app,可选的功能
- 开启管理站点: 用于开启后台管理admin功能,一般勾上。
没什么问题了,就点击Create吧。
下面就是一段时间的等待,Pycharm会帮助我们自动创建虚拟环境,以及安装最新版本的Django。
创建完成之后,进入Pycharm的解释器设置菜单,可以看到当前Django版本是3.1版本。如果你要指定过去的版本,比如2.2、1.11等,那就不能这么操作了,需要在命令行下自己创建虚拟环境并安装django。或者在这里先删除Django,再安装你想要的指定版本。
看下我们当前的状态,注意venv虚拟环境目录。
注意,注意,注意!:从Django3.1开始,官方使用
pathlib
替代了os.path
。在settings.py
文件中,第一行就是from pathlib import Path
,并且BASE_DIR
是这么定义的:BASE_DIR = Path(__file__).resolve(strict=True).parent.parent
但是在Pycharm的早期版本中(包括教程中使用的2020.1版本),依然使用的是os.path
,如果你在创建项目的时候同时指定了template目录,那么可能在运行服务器的时候出现缺少os
模块的错误。此时,只需要在settings.py
文件顶部添加import os
即可。
点击绿色的三角,启动默认的开发服务器,如果看到欢迎界面,说明一切OK!
注意:第一次启动服务器后,Django会默认创建一个db.sqlite3
文件,这是SQLite3数据库。
如果没有特别说明,教程将在Pycharm中开发Django项目。
如果希望汉化Pycharm的,可以在settings的plugins中搜索chinese简体包,安装即可。