该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程

所有转载本文者,需在顶部显著位置注明原作者及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从入门到精通系列教程的更多相关文章

  1. 办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时)

    办公软件Office PPT 2010视频教程从入门到精通系列教程(22课时) 乔布斯的成功离不开美轮美奂的幻灯片效果,一个成功的商务人士.部门经理也少不了各种各样的PPT幻灯片.绿色资源网给你提供了 ...

  2. 第一章:模型层model layer -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 题外话: Django的教程写到这里,就进入 ...

  3. Part 1:请求与响应--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  4. Part 2:模型与后台管理admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  5. Part 7:自定义admin站点--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  6. Django简介--Django从入门到精通系列教程

    该系列教程系个人原创,并同步发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  7. 模型和字段 -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  8. Part 5:Django测试--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. 本节将简要介绍Django的自动化测试相关内 ...

  9. Part 3:视图和模板--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

随机推荐

  1. 6、ABPZero系列教程之拼多多卖家工具 框架后台的设置

    接着上篇文章,现在去修改注册登录逻辑代码还为时过早,我们还需要到后台去设置一些配置. 管理---设置 先配置好这2项设置,邮箱配置是为了验证注册时功能是否正常,下一篇文章需要用到. 注:邮箱配置中的密 ...

  2. Java集合干货——ArrayList源码分析

    ArrayList源码分析 前言 在之前的文章中我们提到过ArrayList,ArrayList可以说是每一个学java的人使用最多最熟练的集合了,但是知其然不知其所以然.关于ArrayList的具体 ...

  3. Webpack+vue2.0如何注册全局组件 (01)

    Part 1, 问题: webpack + vue2.0框架中,如何在入口js中注册组件? 就是在一个月以前,匆匆闯入vuejs这个社群,基本了解了vuejs的一些基础特性和语法.笔者兴致勃勃地开始想 ...

  4. python 组合样例

    class Bill(): def __init__(self, description): self.description = description class Tail(): def __in ...

  5. Python 集合 深浅copy

    一,集合. 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. ...

  6. 基于input子系统的sensor驱动调试(二)

    继上一篇:http://www.cnblogs.com/linhaostudy/p/8303628.html#_label1_1 一.驱动流程解析: 1.模块加载: static struct of_ ...

  7. spring 多线程 写入数据库 和 写入 xml文件

    最近工作中遇到一个需求 多线程先爬取页面 然后将爬取的结果持久化到数据库中 ,一些大文本的内容需要持久化到 xml文件中; 下面是运行后的结果: xml 文件写入结果: 数据库写入结果: 再来张项目结 ...

  8. Jfinal-Plugin源码解读

    PS:cnxieyang@163.com/xieyang@e6yun.com 本文就Jfinal-plugin的源码进行分析和解读 Plugin继承及实现关系类图如下,常用的是Iplugin的三个集成 ...

  9. ubuntu下查看-卸载软件(卸载.net core sdk的方法)

    查看已安装的包:dpkg --list 查看正则匹配的包:dpkg --list 'dotnet-*' //查看以dotnet-开头的包 卸载匹配的包:sudo apt-get --purge rem ...

  10. ubantu下su命令Authentication failure失败的解决方式

    Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许 su 到 root . 可以使用: sudo passwd 来重新设置root密码,后即可登陆root. ortonwu@ubu ...