介绍
Django是一个功能齐全的Python网络框架,用于开发动态网站和应用程序。 使用Django,你可以快速创建Python Web应用程序,并依靠框架做很多重的工作。
在本指南中,我们将向您展示如何让Django在Ubuntu 16.04服务器上运行。 安装后,我们将向您展示如何开始一个新项目,作为您网站的基础。
不同方法
有多种不同的方法可以根据您的需要和如何配置您的开发环境来安装Django。 这些具有不同的优势,一种方法可能更适合您的具体情况比其他。
一些不同的方法如下:
- 全球从包安装 :官方的Ubuntu软件仓库包含可轻松与传统的安装包的Django
apt
包管理器。 这很简单,但不像一些其他方法那么灵活。 此外,存储库中包含的版本可能落后于项目提供的正式版本。 - 全球通过PIP安装 :该
pip
工具是Python包的软件包管理器。 如果你安装了pip
,可以很容易地在系统级别,任何用户使用安装Django。 这应该总是包含最新的稳定版本。 即使如此,全球安装本身也不太灵活。 - 通过PIP在VIRTUALENV安装 :Python的
virtualenv
包允许您创建各种项目的自包含环境。 使用此技术,您可以在项目目录中安装Django,而不会影响更大的系统。 这允许您轻松提供每个项目的自定义和包。 与全球可访问的安装相比,虚拟环境增加了一些轻微的心理和进程开销,但提供了最大的灵活性。 - 开发版本通过混帐安装 :如果你想安装最新开发版本,而不是稳定版,你将必须获得从该代码
git
回购。 这是必要的,以获得最新的功能/修复程序,可以在全球或本地。 但是,开发版本没有相同的稳定性保证。
考虑到上述注意事项和质量,请从以下说明中选择最适合您需要的安装方法。
先决条件
在开始之前,你应该有一个非root用户sudo
你的Ubuntu 16.04服务器上可用的特权。 要这样设置,按照我们的Ubuntu 16.04服务器初始设置指南 。
准备好继续时,请按照以下步骤操作。
从软件包全局安装
如果你想使用Ubuntu仓库安装Django,这个过程是非常简单的。
首先,更新本地软件包索引apt
:
sudo apt-get update
接下来,选择要与Django一起使用的版本Python版本。 对于Python 2,请键入:
sudo apt-get install python-django
如果你想使用Python 3和Django,请输入:
sudo apt-get install python3-django
您可以键入以下内容来测试安装是否成功:
django-admin --version
Output1.8.7
这意味着软件已成功安装。 你也可能注意到Django版本不是最新的稳定版本。 要了解一些关于如何使用该软件,可以直接跳到学习如何创建示例项目 。
全局安装通过pip
如果你想在全球范围内安装最新版本的Django的,更好的选择是使用pip
,Python的包管理器。 首先,我们需要安装pip
包管理器。 刷新apt
包索引:
sudo apt-get update
现在你可以安装pip
。 如果计划使用Python版本2,请使用以下命令安装:
sudo apt-get install python-pip
如果你打算使用Python 3,使用这个命令:
sudo apt-get install python3-pip
现在,你有pip
,我们可以很容易地安装Django。 如果你使用Python 2,你可以输入:
sudo pip install django
如果您正在使用Python 3,使用pip3
命令:
sudo pip3 install django
您可以通过键入以下内容来验证安装是否成功:
django-admin --version
Output1.9.6
正如你所看到的,可以通过版本pip
更高达最新比从Ubuntu的软件库之一(你很可能会与上述不同)。
通过pip在Virtualenv中安装
也许,您的系统上安装Django最灵活的方式是使用virtualenv
工具。 此工具允许您创建虚拟Python环境,您可以在其中安装所需的任何Python包,而不会影响系统的其余部分。 这允许您基于每个项目选择Python包,无论与其他项目的要求冲突。
我们将通过安装开始pip
从Ubuntu软件仓库。 在开始之前刷新本地包索引:
sudo apt-get update
如果你打算使用Python版本2,您可以安装pip
键入:
sudo apt-get install python-pip
相反,如果你打算使用Python版本3,你可以安装pip
键入:
sudo apt-get install python3-pip
一旦pip
安装,你可以用它来安装virtualenv
包。 如果您安装了Python 2 pip
,你可以输入:
sudo pip install virtualenv
如果您安装了Python 3版本的pip
,你应该键入这个:
sudo pip3 install virtualenv
现在,无论何时启动一个新项目,都可以为其创建一个虚拟环境。 首先创建并移动到新的项目目录:
mkdir ~/newproject
cd ~/newproject
现在,通过键入以下内容在项目目录中创建一个虚拟环境:
virtualenv newenv
这将安装Python的独立版本,以及pip
您的项目目录中,成为一个孤立的目录结构。 我们选择拨打我们的虚拟环境newenv
,但你应该命名为描述性的东西。 将使用您选择的名称创建一个目录,该目录将包含将要安装软件包的文件层次结构。
要将软件包安装到隔离环境中,必须通过键入以下命令来激活它:
source newenv/bin/activate
您的提示应该更改以反映您现在处于虚拟环境中。 它看起来像( newenv )username@hostname:~/newproject$
。
在新的环境中,你可以使用pip
来安装Django。 无论您正在使用Python版本2或3,它应该被称为只是pip
,当你在你的虚拟环境。 还要注意的是,你并不需要使用sudo
,因为你是在本地进行安装:
pip install django
您可以键入以下内容来验证安装:
django-admin --version
Output1.9.6
离开你的虚拟环境中,你需要发出deactivate
从系统上任何地方的命令:
deactivate
您的提示应该恢复到常规显示。 当您希望再次处理项目时,应重新激活虚拟环境,方法是重新进入项目目录并激活:
cd ~/newproject
source newenv/bin/activate
开发版本通过git安装
如果你需要的Django的开发版本,你必须下载并从其安装Django git
存储库。
要做到这一点,你需要安装git
系统与apt
。 键入以下内容以刷新本地包索引:
sudo apt-get update
现在,我们可以安装git
。 我们也将安装pip
Python包管理器。 我们将使用它来处理Django在下载后的安装。 如果你使用Python 2,你可以输入:
sudo apt-get install git python-pip
如果你使用Python 3,你应该键入:
sudo apt-get install git python3-pip
一旦你git
,你可以克隆Django的存储库。 在版本之间,此存储库将具有更多最新的功能和错误修复,可能会牺牲稳定性。 您可以克隆存储库到一个名为目录django-dev
键入你的home目录内:
git clone git://github.com/django/django ~/django-dev
一旦库被克隆,您可以使用安装pip
。 我们将使用-e
选项中的“编辑”模式,从版本控制安装时,这是需要进行安装。 如果您使用的是Python 2版本,请键入:
sudo pip install -e ~/django-dev
如果您使用的是Python 3,请输入:
sudo pip3 install -e ~/django-dev
您可以通过键入以下内容来验证安装是否成功:
django-admin --version
Output1.10.dev20160516172816
请注意,您还可以使用结合这一战略virtualenv
,如果你想在一个单一的环境中安装的Django的开发版本之上。
创建示例项目
现在你已经安装了Django,我们可以简要地告诉你如何开始项目。
按照以下步骤匹配您使用的Python版本。
Python 2
您可以使用django-admin
命令来创建一个项目:
django-admin startproject projectname
cd projectname
这将创建一个名为projectname
当前目录中。 在此,管理脚本将被创建和另一个名为目录projectname
将与实际的代码来创建。
如果您在您与使用创建的项目目录已经virtualenv
的命令,你可以告诉Django通过键入此放置脚本管理和内部目录到当前目录没有额外层(注意结尾点):
django-admin startproject projectname .
要在更新版本的Django上引导数据库(默认情况下使用SQLite),可以键入:
python manage.py migrate
如果migrate
命令不起作用,你可能正在使用Django的旧版本。 相反,您可以键入:
python manage.py syncdb
在此过程中,您将被要求创建一个管理用户。 选择用户的用户名,电子邮件地址和密码。
如果您使用了migrate
上面的命令,你需要手动创建管理用户。 您可以通过键入以下内容创建管理用户:
python manage.py createsuperuser
系统将提示您输入用户的用户名,电子邮件地址和密码。
跳到使用您的开发版本测试的部分。
Python 3
您可以使用django-admin
命令来创建一个项目:
django-admin startproject projectname
cd projectname
这将创建一个名为projectname
当前目录中。 在此,管理脚本将被创建和另一个名为目录projectname
将与实际的代码来创建。
如果您在您与使用创建的项目目录已经virtualenv
的命令,你可以告诉Django通过键入此放置脚本管理和内部目录到当前目录没有额外层(注意结尾点):
django-admin startproject projectname .
要在更新版本的Django上引导数据库(默认情况下使用SQLite),可以键入:
python3 manage.py migrate
如果migrate
命令不起作用,你可能正在使用Django的旧版本。 相反,您可以键入:
python3 manage.py syncdb
在此过程中,您将被要求创建一个管理用户。 选择用户的用户名,电子邮件地址和密码。
如果您使用了migrate
上面的命令,你需要手动创建管理用户。 您可以通过键入以下内容创建管理用户:
python3 manage.py createsuperuser
系统将提示您输入用户的用户名,电子邮件地址和密码。
使用您的开发服务器进行测试
一旦你有一个用户,你可以启动Django开发服务器,看看一个新的Django项目是什么样子。 您只应将其用于开发目的。
在尝试开发服务器之前,请确保打开防火墙中的端口。 如果您在初始服务器设置指南中使用UFW,则可以通过键入以下命令打开相应的端口:
sudo ufw allow 8000
现在,启动开发服务器。
对于Python 2,运行:
python manage.py runserver 0.0.0.0:8000
对于Python 3,运行:
python3 manage.py runserver 0.0.0.0:8000
访问你的服务器的IP地址后面:8000
在Web浏览器
server_ip_address:8000
你应该看到这样的东西:
现在,追加/admin
你的URL的末尾才能到管理员登录页面:
server_ip_address:8000/admin
如果您输入刚刚创建的管理用户名和密码,您应该转到网站的管理部分:
当您完成翻翻默认站点,您可以通过键入停止开发服务器CTRL-C
在终端。
您创建的Django项目为设计更完整的网站提供了结构基础。 查看Django文档,了解有关如何构建应用程序和自定义网站的更多信息。
结论
您现在应该在您的Ubuntu 16.04服务器上安装Django,提供创建功能强大的Web应用程序所需的主要工具。 您还应该知道如何启动新项目并启动开发人员服务器。 利用Django等完整的Web框架可以帮助您更快地开发,让您只专注于应用程序的独特方面。