如何安装 django(Page 17)

这一部分可以让你将 Django 运行起来。

安装 Python

作为 python 的一个 web 框架,Django 依赖 Python。Python 的哪个版本可以使用 Django?

Django version Python versions
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

获取最新版本的 Python 可以在 https://www.python.org/downloads/或者在你的操作系统的管理器里。

Jython 中的 Django
Jython(java 平台上个一个 python 实现)和 python3不兼容,所以 大于等于 2.0 版本的 django 无法运行在 Jython 上。

Windows 中的 Python
如果你要在 windows 中运行了 Django, 你可以查看 如何在 windows 中安装 Django(这里差一个链接)

安装 Apache 和 mod_wsgi

如果你只是想尝试使用一下 Django,请跳到下一节;Django 包含一个用于测试的轻量级 web 服务,所以在你准备将Django 部署到生产环境之前,你是不需要安装 Apache 的。
如果想在一个生产环境中的站点使用 Django,可以使用 Apache 和 mod_wsgi。mod_wsgi 有两种操作模式:嵌入式模式和守护模式。 在嵌入式模式,mod_wsgi 类似 mod_perl ——它在 Apache 中嵌入 Python,当服务启动时将 Python 代码加载到内存里。在 Apache 进程的整个生命周期代码会一直停留在内存,这样做会比其他的服务器有更好的性能。 在守护模式,mod_wsgi 会生成一个独立的守护进程去处理请求。守护进程可以以和 web 服务不同的用户来运行,可以提高安全性,并且守护进程可以在不重启整个 Apache web 服务的情况下进行重启操作,使代码可以平滑无缝的切换。查看 mod_wsgi 文档以确定你的安装适合使用哪一种模式。 确保你已经安装了 Apache,mod_wsgi 已被激活。 Django 可以在任何支持 mod_wsgi 的 Apache 版本中运行。

查看 如何在 mod_wsgi 中使用 Django(这里差一个链接) 的信息,了解如何配置你安装的 mod_wsgi。

如果因为一些原因你不想使用 mod_wsgi,不要担心:Django 支持许多其他部署方式。其中一种就是 uWSGI(这里差一个链接);它可以和 nginx 配合的很好。另外,Django 遵循 WSGI 标准(PEP 3333),可以在各种平台上运行。

运行你的数据库

如果你计划使用 Django 的数据库 API 功能,你需要确定有一个在运行的数据集库服务。Django 支持许多不同的数据库,并且PostgreSQLMySQLOracle and SQLite 都被正式支持。

如果你正在开发一个简单的项目或者其他东西,你也不打算在生产环境中部署,SQLite 通常是最简单的选择,它不需要运行一个单独的服务。不管怎么说,SQLite 还是和其他的数据库有很多不同,如果你在进行一些实质性工作的时候,建议你部署和生产环境中要使用的数据库相同的数据库。

除了官方支持的数据库,还有第三方提供的数据库后端(这里差一个链接),让你在 Django 中使用其他的数据库。
除了数据库后端,你还需要确认你的 Python数据库绑定已经安装。

如果你计划用 Django 的 manage.py migrate 命令为你的 models自动创建数据库表(在第一次安装 Djnago 并创建项目之后),你需要确认,DJnaog 有权限创建和修改该你使用的数据库表。如果你计划手动创建数据库表,你可以简单的授权 Django 使用SELECT, INSERT, UPDATE,DELETE的权限,在创建有这些权限的数据库用户后,你需要在你的项目的配置文件中指定这些信息。详细信息请看这里(这里差一个链接)

如果你在使用 Django 的测试框架(这里差一个链接)测试数据库查询,Django 还需要创建一个测试数据库的权限。

卸载旧版本的 Django

如果你正在将一个旧版本的 Django 升级到新版本,你需要在安装新版本 Django 之前先卸载旧版本的 Django。
如果你使用 pip 或者 easy_install 安装的 Django。使用 pip 或者 easy_install 再次安装一次即可,它们会自动更新旧版本到新版本,所以你不需要自己管理安装。
如果你以前是用python setup.py install 安装的 Django,删除也很简单,删除 Python 安装目录中 site-packages下的 django 目录即可。找到你要删除的目录,有可以在 shell 中执行执行以下命令:

$ python -c "import django; print(django.__path__)"

安装 django 代码

针对不同版本的安装包,安装指南略有不同,是选择最新的正式版本,还是选择最新的开发版本。

使用 pip 安装一个正式版本

这是安装 Django 的的建议方式:
1. 安装 pip,最简单的方式使用独立的 pip 安装器。如果你已经安装了 pip,你可能需要更新它,你知道,如果他已经过时了,安装会失败。
2. 去看一下看 virtualenv和 virtualenvwrapper。这些工具提供隔离的 Python 环境,它比安装在系统里更实用。它还可以让你即使没有管理员权限也可以安装包。这里提供的教程(这里少一个链接)会告诉你如何创建virtualenv环境。
3. 创建和激活一个虚拟环境之后,在 shell 提示符后输入命令 pip install Django

安装指定版本的包

检查发布版本的具体记录,去看看你使用的平台/发布版 是否提供正式版本的 Django 安装包或者安装器。提供的分发版本通常可以自动安装依赖和易于升级的方法。不管如何,这些安装包很少会包含最新版本的 Django。

安装开发版本

跟踪 Django 开发版
如果你决定使用最新的开发版,你要密切关注 开发时间线,并且要注意 即将发布的发行版(这里差一个链接)。这会让你想使用的新功能以及任何变化都保持在最新,当你更新 Django 的时候,你也需要当你的代码进行更新。(对于稳定版,任何必要的改变都会记录在发布说明中。)

如果你偶尔想要更新你的 Django,使用最新的 bug 修复和实现,可以看下面的内容:
1. 确保已经安装了 Git并且你可以在 shell 中运行它,(可以在 shell 中执行git help命令来验证)
2. 检查 DJnaog 的主开发分支,命令如下:

$ git clone https://github.com/django/django.git

这会在你的当前目录创建一个名字为 django 的目录。
3. 确认 Python 解释器可以加载 Django 的代码。要做到这点最方便的方法是使用 virtualenvvirtualenvwrapper, 和 pip.这里提供的教程(这里少一个链接)会告诉你如何创建virtualenv环境。
4. 在建立并激活 virtualenv 后,运行下面的命令:

$ pip install -e django/

这样就就导入了 Djnago 的代码,也会是 django-admin工具命令生效。也就是说,你已经为使用 Django 做好了准备。

当你想要更新的 django 源代码拷贝时,只需要在 django 目录运行 git pull命令,执行之后,Git 会自动下载所有的更新

Django 2.0.1 官方文档翻译: 如何安装 django (Page 17)的更多相关文章

  1. Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)

    快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...

  2. Django 2.0.1 官方文档翻译: 文档目录 (Page 1)

    Django documentation contents 翻译完成后会做标记. 文档按照官方提供的内容一页一页的进行翻译,有些内容涉及到其他节的内容,会慢慢补上.所有的翻译内容按自己的理解来写,尽量 ...

  3. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第一部分(Page 6)

    编写你的第一个 Django app,第一部分(Page 6)转载请注明链接地址 Django 2.0.1 官方文档翻译: Django 2.0.1.dev20171223092829 documen ...

  4. Django 2.0.1 官方文档翻译:编写你的第一个djang补丁(page 15)

    编写你的第一个djang补丁(page 15) 介绍 有兴趣为社区做一些贡献?可能你发现了django中的一个你想修复的bug,或者你你想添加一个小小的功能. 回馈django就是解决你遇到的问题的最 ...

  5. Django 2.0.1 官方文档翻译:接下来读什么(page 14)

    接下来读什么(page 14) 现在你应该已经阅读了所有的(page1-13 )介绍材料,决定继续使用Django.我们仅仅做了简要的介绍(事实上,如果你阅读了前面所有的内容,也只是全部文档的5%.) ...

  6. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第二部分(Page 7)

    编写你的第一个 Django app,第二部分(Page 7)转载请注明链接地址 本教程上接前面的教程.我们会配置数据,创建你的第一个 model,并对Django 自动生成的 admin 站点进行快 ...

  7. Django 2.0.1 官方文档翻译:编写你的第一个 Django app,第六部分(Page 11)

    编写你的第一个 Django app,第六部分(Page 11)转载请注明链接地址 本教程上接前面第五部分的教程.我们构建了一个经过测试的 web-poll应用,现在我们会添加一个样式表和一张图片. ...

  8. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第三部分(Page 8)

    编写你的第一个 Django app,第三部分(Page 8)转载请注明链接地址 本页教程接前面的第二部分.我们继续开发 web-poll app,我们会专注于创建公共接口上 -- "视图& ...

  9. Django 2.0.1 官方文档翻译: 高级教程:如何编写可重用的app (page 13)

    高级教程:如何编写可重用的app (page 13) 本节教程上接第七部分(Page 12).我们会把我们的 web-poll应用转换成一个独立的python包,你可以在新的项目中重用或者把它分享给其 ...

随机推荐

  1. PAT 甲级 1143 Lowest Common Ancestor

    https://pintia.cn/problem-sets/994805342720868352/problems/994805343727501312 The lowest common ance ...

  2. windows多线程(二) 等待线程返回

    多线程编程中,有时我们需要等待某一线程完成了特定的操作后再继续做其他事情,要实现这个目的,可以使用Windows API函数WaitForSingleObject,或者WaitForMultipleO ...

  3. HDU3452_Bonsai

    题目的意思是给你一个棵树,每天边上有一个权值,现在要想根节点和每个叶子节点完全隔离开来,删除一些边,求最少需要删除的边权值综合是多少? 直接建模,以根节点为汇点,每个叶子节点连接虚拟源点流量无穷,树上 ...

  4. [BZOJ3712]Fiolki 重构树(并查集)

    3712: [PA2014]Fiolki Time Limit: 30 Sec  Memory Limit: 128 MB Description 化学家吉丽想要配置一种神奇的药水来拯救世界.吉丽有n ...

  5. 【UOJ228】基础数据结构练习题(线段树)

    [UOJ228]基础数据结构练习题(线段树) 题面 UOJ 题解 我们来看看怎么开根? 如果区间所有值都相等怎么办? 显然可以直接开根 如果\(max-sqrt(max)=min-sqrt(min)\ ...

  6. 【ZJOI 2018】 历史(lct)

    历史 题目描述 九条可怜是一个热爱阅读的女孩子. 这个世界有 $n$ 个城市,这 $n$ 个城市被恰好 $n-1$ 条双向道路联通,即任意两个城市都可以互相到达.同时城市 $1$ 坐落在世界的中心,占 ...

  7. BZOJ3601 一个人的数论 【数论 + 高斯消元】

    题目链接 BZOJ3601 题解 挺神的 首先有 \[ \begin{aligned} f(n) &= \sum\limits_{x = 1}^{n} x^{d} [(x,n) = 1] \\ ...

  8. 一次绕过防火墙获取RCE以及提权到root权限的渗透过程

    本文是关于Apache struts2 CVE-2013-2251是由于导致执行远程命令的影响而被高度利用的漏洞.简而言之, 通过操纵以“action:”/”redirect:”/”redirectA ...

  9. 单点登录(三)-----实战-----cas server 源码下载和部署

    我们在上一篇文章中使用的是4.0版本的cas,4.0版本的有发布好的war包可以直接使用,那如果我们要使用更新的版本怎么办呢? 就需要下载源码自己编辑打包了. 步骤如下: 版本选择 我们在cas的gi ...

  10. java多线程 --ConcurrentLinkedQueue 非阻塞 线程安全队列

    ConcurrentLinkedQueue是一个基于链接节点的无界线程安全队列,它采用先进先出的规则对节点进行排序,当我们添加一个元素的时候,它会添加到队列的尾部:当我们获取一个元素时,它会返回队列头 ...