Django 2.0.1 官方文档翻译: 如何安装 django (Page 17)
如何安装 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 支持许多不同的数据库,并且PostgreSQL, MySQL, Oracle and SQLite 都被正式支持。
如果你正在开发一个简单的项目或者其他东西,你也不打算在生产环境中部署,SQLite 通常是最简单的选择,它不需要运行一个单独的服务。不管怎么说,SQLite 还是和其他的数据库有很多不同,如果你在进行一些实质性工作的时候,建议你部署和生产环境中要使用的数据库相同的数据库。
除了官方支持的数据库,还有第三方提供的数据库后端(这里差一个链接),让你在 Django 中使用其他的数据库。
除了数据库后端,你还需要确认你的 Python数据库绑定已经安装。
- 如果你使用 PostgreSQL ,你需要安装 psycopg2 。更多信息请参阅 PostgreSQL notes(这里差一个链接)。
- 如果你使用 MYSQL,你需要安装类似mysqlclient的DB API 驱动(这里差一个链接)。更多信息请参阅 notes for the MySQL backend(这里差一个链接)
- 如果你使用 SQLite,你可能会想要阅读 SQLite backend notes(这里差一个链接)
- 如果你使用 Oracle,你需要复制一份 cx_Oracle ,还需要阅读notes for the Oracle backend(这里差一个链接)了解更多信息,以考虑Oracle and cx_Oracle都支持的版本。
- 如果你使用非官方的第三方数据库后端,请查阅文档中提及的其他依赖。
如果你计划用 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 的代码。要做到这点最方便的方法是使用 virtualenv, virtualenvwrapper, 和 pip.这里提供的教程(这里少一个链接)会告诉你如何创建virtualenv环境。
4. 在建立并激活 virtualenv 后,运行下面的命令:
$ pip install -e django/
这样就就导入了 Djnago 的代码,也会是 django-admin
工具命令生效。也就是说,你已经为使用 Django 做好了准备。
当你想要更新的 django 源代码拷贝时,只需要在 django 目录运行 git pull
命令,执行之后,Git 会自动下载所有的更新
Django 2.0.1 官方文档翻译: 如何安装 django (Page 17)的更多相关文章
- Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)
快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...
- Django 2.0.1 官方文档翻译: 文档目录 (Page 1)
Django documentation contents 翻译完成后会做标记. 文档按照官方提供的内容一页一页的进行翻译,有些内容涉及到其他节的内容,会慢慢补上.所有的翻译内容按自己的理解来写,尽量 ...
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第一部分(Page 6)
编写你的第一个 Django app,第一部分(Page 6)转载请注明链接地址 Django 2.0.1 官方文档翻译: Django 2.0.1.dev20171223092829 documen ...
- Django 2.0.1 官方文档翻译:编写你的第一个djang补丁(page 15)
编写你的第一个djang补丁(page 15) 介绍 有兴趣为社区做一些贡献?可能你发现了django中的一个你想修复的bug,或者你你想添加一个小小的功能. 回馈django就是解决你遇到的问题的最 ...
- Django 2.0.1 官方文档翻译:接下来读什么(page 14)
接下来读什么(page 14) 现在你应该已经阅读了所有的(page1-13 )介绍材料,决定继续使用Django.我们仅仅做了简要的介绍(事实上,如果你阅读了前面所有的内容,也只是全部文档的5%.) ...
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第二部分(Page 7)
编写你的第一个 Django app,第二部分(Page 7)转载请注明链接地址 本教程上接前面的教程.我们会配置数据,创建你的第一个 model,并对Django 自动生成的 admin 站点进行快 ...
- Django 2.0.1 官方文档翻译:编写你的第一个 Django app,第六部分(Page 11)
编写你的第一个 Django app,第六部分(Page 11)转载请注明链接地址 本教程上接前面第五部分的教程.我们构建了一个经过测试的 web-poll应用,现在我们会添加一个样式表和一张图片. ...
- Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第三部分(Page 8)
编写你的第一个 Django app,第三部分(Page 8)转载请注明链接地址 本页教程接前面的第二部分.我们继续开发 web-poll app,我们会专注于创建公共接口上 -- "视图& ...
- Django 2.0.1 官方文档翻译: 高级教程:如何编写可重用的app (page 13)
高级教程:如何编写可重用的app (page 13) 本节教程上接第七部分(Page 12).我们会把我们的 web-poll应用转换成一个独立的python包,你可以在新的项目中重用或者把它分享给其 ...
随机推荐
- Alpha阶段综合报告
1.版本测试报告 1.1在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? Bug分类 Bug内容 Fixed 编辑博文时改变文字格式会刷新界面 Can’t reproduced 无 N ...
- JavaBean 与 EJB 的区别
JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的 setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传递 ...
- BUAA软工个人作业Week2-代码复审
一. 代码复审Check List 1.概要部分 代码能符合需求和规格说明么? 对-c的测试: 可以看到程序不支持1000000的数独终局输出,读源码发现常量MaxCounts定义为了100000,导 ...
- 搭建企业级Docker Registry -- Harbor
Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目(Harbor 提出的概念),基于官方 Registry V2 ...
- Robot Framework 教程 (1) - 环境配置及简单网站兼容性测试
0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...
- python调用docker API(CentOS6.5)
一 环境背景 python-2.7.8 docker 版本 1.15 (*yum安装为1.14版本,需升级为1.15,详见后续步骤) 二 获取Docker容器指标[指标可行性分析见笔记:] CPU : ...
- centos7防火墙操作
启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : s ...
- UVA10047_The Monocycle
这题....有点奇葩,但是不难. 在矩形方阵里,某人可以往前走或者左拐右拐.都需要消耗一个单位时间. 问某人从一个点走向另一个点的最短时间,并且走过的路程是5的倍数. 由于n,m都小,直接f[n][m ...
- nowcoder 203A Knight(贪心+打表)
题目链接 题目描述 有一张无限大的棋盘,你要将马从(0,0)移到(n,m). 每一步中,如果马在(x,y),你可以将它移动到(x+1,y+2),(x+1,y-2),(x-1,y+2),(x-1,y-2 ...
- STL Deque 容器
STL Deque 容器 Deque简介 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,deque是双 端的,而vector是单端的. ...