Django环境安装--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程
所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址。
Django是由Python编写的Web框架,依赖Python环境,所以需要提前安装好Python解释器。
关于Python的安装,请参考站点中Python教程的相关部分,这里不再赘述。
建议安装最新版本的Python3,因为从Django2.0开始将不再支持Python2.7。
当前Python最新版本为3.6.3,安装完毕后,会自动安装pip工具包。
进行Python + Django的Web开发,最佳IDE环境是Pycharm,请大家自行安装。
当前时间点2017年10月,Django对Python版本的依赖关系如下表所示:
Django 版本 | Python 版本 |
---|---|
1.8 | 2.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5 |
1.9, 1.10 | 2.7, 3.4, 3.5 |
1.11 | 2.7, 3.4, 3.5, 3.6 |
2.0 | 3.4, 3.5, 3.6 |
2.1 | 3.5, 3.6, 3.7 |
Django本身的版本支持路线图如下所示:
具体的时间如下图:
未来版本的计划节点:
可以看到,当前的1.11版是个LTS长期支持版本,可以用到2020年,是一个不错的选择。而2.0版和2.1版都是过渡版本,直到2019年的2.2版才是个LTS版本。
一、安装Django
1. 通过pip安装Django
如果你是通过升级的方式安装Django,那么你需要先卸载旧的版本。
Django提供3种发行版本,推荐使用官方的稳定版本:
- 你的操作系统提供的发行版本(Linux)
- 官方稳定版本(推荐)
- 开发测试版本
Django本质上是Python语言的一个类库,因此可以通过pip工具安装。这也是最简便最好的安装方式。不建议通过下载安装包或者编译源码进行安装的方法,除非你的环境无法连接外部网络。
这里介绍windows系统下pip命令安装方式。
win+r,调出cmd,运行命令:pip install django
,自动安装PyPi提供的最新版本。
如果要指定版本,可使用pip install django==1.10
这种形式。
安装完成后如下图所示:
如果你看到本教程的时候,Django的版本已经发生了很大的变化,那么你可能需要注意一些版本之间的不同之处,最好的办法,就是指定安装与教程一样的1.11.6
版本。
在Linux操作系统中,也是一样,使用pip工具包安装Django。
2. 验证安装
进入Python交互式环境(注意一定要进入刚才安装了Django的Python解释器),按下面所示查看安装版本:
>>> import django
>>> print(django.get_version())
1.11
或者使用pip list
命令,查看是否存在Django模块。
3. 配置系统环境
成功安装Django后,以windows为例,在Python根目录下的Scripts目录中可找到一个django-admin.exe
文件,这是Django的核心管理程序,最好将它加入操作系统的环境变量中,这样在以后的调用会比较方便。
如何进入环境变量设置界面,参考Python教程中的相关部分。如下图所示,在Path变量中添加Scripts目录。
回到cmd界面,运行django-admin help
,能看到下面的内容表示环境变量设置成功。
二、 测试Django
1. 在cmd或Linux命令行环境下创建Django项目
在windows的cmd环境中(Linux中类同),新建或者进入你想创建Django项目的目录,然后输入下面的命令:
django-admin startproject mysite
这样就会在当前目录下创建一个叫做mysite的Django项目。
D:\test>django-admin startproject mysite
D:\test>dir
D:\test 的目录
2017/10/20 11:19 <DIR> .
2017/10/20 11:19 <DIR> ..
2017/10/20 11:19 <DIR> mysite
0 个文件 0 字节
3 个目录 102,160,605,184 可用字节
可以看到Django自动帮我们创建了一个mysite文件夹,这是项目的根目录。在mysite根目录中,又有一个mysite目录,这是整个项目的配置文件目录(一定不要和同名的根目录搞混淆了),还有一个manage.py文件,是整个项目的管理脚本。
D:\test>cd mysite
D:\test\mysite>dir
D:\test\mysite 的目录
2017/10/20 11:19 <DIR> .
2017/10/20 11:19 <DIR> ..
2017/10/20 11:19 826 manage.py
2017/10/20 11:19 <DIR> mysite
1 个文件 826 字节
3 个目录 102,160,605,184 可用字节
D:\test\mysite>cd mysite
D:\test\mysite\mysite>dir
D:\test\mysite\mysite 的目录
2017/10/20 11:19 <DIR> .
2017/10/20 11:19 <DIR> ..
2017/10/20 11:19 3,216 settings.py
2017/10/20 11:19 784 urls.py
2017/10/20 11:19 406 wsgi.py
2017/10/20 11:19 0 __init__.py
4 个文件 4,406 字节
2 个目录 102,160,605,184 可用字节
在项目根目录下,运行Python manage.py runserver
,Django会以127.0.0.1:8000
这个默认配置启动开发服务器。
D:\test\mysite>python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you
apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
October 20, 2017 - 11:28:59
Django version 1.11.6, using settings 'mysite.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项目
前面介绍的是在命令行环境中项目的创建和服务器的启动。其实,在大多数情况下,我们都是在Windows操作系统下,使用Pycharm进行Django开发。
Pycharm不但是Python最好的集成环境,并且对Django、Flask、HTML5等各种框架和语言都非常友好。下面介绍在Pycharm中创建Django项目的方法。
启动Pycharm后,点击file-->new project
,出现下面的对话框。
选择Django栏目,输入项目名称,还是采用国际惯例的mysite。选择Python解释器版本,点击create创建。
Django将自动生成下面的目录结构:
和我们在命令行界面中不一样的是,不用手动调用diango-admin命令。同样的是,会自动创建与项目同名的目录,包含了配置文件。templates目录是Pycharm安利给我们的,HTML文件存放处,也就是MTV中的T的目录。manage.py
则一样是Django项目管理文件。
启动开发服务器:
在pycharm中启动服务器也不需要输入命令,只需要如下动作:
在Pycharm的上部工具栏中找到下面图示的图标。
点击下拉箭头。
点击edit configurations
。
在host中填入127.0.0.1
,port中填入8000
。
OK确定之后,点击绿色的三角,web服务就运行起来了。
按图所示,自动跳转到浏览器程序界面,如果看到下面的界面,说明一切OK!
注意:如果没有特别说明,教程将采用在Pycharm中开发Django项目的方式。
Django环境安装--Django从入门到精通系列教程的更多相关文章
- 办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时)
办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时) 乔布斯的成功离不开美轮美奂的幻灯片效果,一个成功的商务人士.部门经理也少不了各种各样的PPT幻灯片.绿色资源网给你提供了 ...
- 第一章:模型层model layer -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 题外话: Django的教程写到这里,就进入 ...
- Part 1:请求与响应--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Part 2:模型与后台管理admin站点--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Part 7:自定义admin站点--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Django简介--Django从入门到精通系列教程
该系列教程系个人原创,并同步发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- 模型和字段 -- Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- Part 5:Django测试--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 本节将简要介绍Django的自动化测试相关内 ...
- Part 3:视图和模板--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
随机推荐
- [转载]使用awk进行数字计算,保留指定位小数
对于在Shell中进行数字的计算,其实方法有很多,但是常用的方法都有其弱点: 1.bc bc应该是最常用的Linux中计算器了,简单方便,支持浮点. [wangdong@centos715-node1 ...
- promise间隔时间添加dom
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- MYSQL:alter语句中change和modify的区别
您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名.重命名时,需给定旧的和新的列名称和列当前的类型.例如:要把一个INTEGER列的名称从a变更到b, ...
- 为什么arguments是类数组对象
为什么JavaScript里函数的arguments只是array-like object? 只是标准这么规定的,还是有什么设计原因在里面?JavaScript的函数里面的arguments对象有 . ...
- keepalived配置文件详解(2)
全局配置 global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个邮件地址 xuequn@.com } noti ...
- Mysql ibd文件恢复指南
背景 mysql在使用的过程中,难免遇到数据库表误操作,基于此,作者亲力亲为,对mysql数据表ibd文件的恢复做以下详细的说明,对开发或者初级dba提供一定的指导作用,博客中如若存在相关问题,请指明 ...
- STL中的nth_element()方法的使用
STL中的nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比 ...
- C语言中%d,%p,%u,%lu等都有什么用处
%d 有符号10进制整数(%ld 长整型,%hd短整型 )%hu 无符号短整形(%u无符号整形,%lu无符号长整形)%i 有符号10进制整数 (%i 和%d 没有区别,%i 是老式写法,都是整型格式) ...
- 【JAVA】hashcode() & equals()
平时使用map时都是用JAVA原生的类型,所以很少关注到hashcode()和equals()的方法的内部实现.近期实现一个小工具,涉及到自己写的类的查找比对,又再次重温了相关的知识. 上简单示例代码 ...
- 拿到List<Map<String,String>>对用属性的值。。。。。。。
list.get(i).get("orderNumber") 来拿到下面的对应属性的值