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包,你可以在新的项目中重用或者把它分享给其 ...
随机推荐
- PyCharm 配置远程python解释器和在本地修改服务器代码
PyCharm 配置远程python解释器和在本地修改服务器代码 最近在学习机器学习的过程中,常常需要将本地写的代码传到GPU服务器中,然后在服务器上运行.之前的做法一直是先在本地写好代码,然后通过F ...
- 在MFC中显示图片(opencv Mat类型)
1,在MFC窗体中添加picture control控件,并添加对应的变量名 2,在窗体的初始化窗口中添加: namedWindow(); HWND hWnd = (HWND)cvGetWindowH ...
- vue & button & refs & click & bug
vue & button & refs & click & bug $refs.btn.click() ??? vue & refs $refs.btn.$em ...
- 在sql server ide里数据修改数据
在sql server 的客户端工具ssms里,只有在工具里打开后直接修改. 除了用这种方法外,还有其它方法可以改吗?比如像pl/sql里的for update sql server的客户端功能比较差 ...
- Cent7安装mysql5.7.11全过程
下载mysql(注:其他版本未测试) https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.11.tar.gz 1.安装依赖包 yum -y ...
- Codeforces Round #526 Div. 1 自闭记
日常猝死. A:f[i]表示子树内包含根且可以继续向上延伸的路径的最大价值,统计答案考虑合并两条路径即可. #include<iostream> #include<cstdio> ...
- vue自动路由-单页面项目(非build时构建)
博客中自动路由的原理? 答:简单点说,就是在请求页面时,根据url进行动态添加路由. 与其它自动路由博客的区别? 目前网上的博客,一般都是在build的时候进行动态路由添加,而本博客,采用的是在获得u ...
- Linux及安全实践五——字符集编码
Linux及安全实践五——字符集编码 一.ASCII码 在表中查找出英文字母LXQ相对应的十六进制数值为: 4c 58 51 在终端中输入命令:vim test1.txt 在vim页面输入命令:%!x ...
- centos7添加虚拟IP
1.在网络配置文件中添加虚拟IP,vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 TYPE="Ethernet" BOOTP ...
- 数据库之MySQL的介绍与使用20180703
/*******************************************************************************************/ 一.mysq ...