如何在Debian 8上安装Django Web框架

介绍

Django是一个功能齐全的Python Web框架,用于开发动态网站和应用程序。使用Django,您可以快速创建Python Web应用程序,并依靠该框架来完成繁重的工作。

在本教程中,我们将向您展示如何在Debian 8服务器上启动并运行Django。安装完成后,我们将向您展示如何在您网站上创建一个新项目。

准备

在开始之前,您应该拥有一个在root用户服务器上可以使用sudo命令权限的非root用户。没有服务器的同学可以在这里购买

可用的安装方法

根据您的需求以及您希望如何配置开发环境,可以通过多种方式安装Django。它们具有不同的优点,找到其中一种更适合您具体情况的方法。

一些不同的方法如下:

  • 从软件包全局安装:官方Debian存储库包含Django软件包,可以使用传统的apt软件包管理器轻松安装。这种方法简单,但不如其他一些方法灵活。此外,存储库中的版本可能落后于项目中可用的官方版本。
  • 通过pip进行全局安装:pip工具是Python包的软件包管理器。如果安装pip,您可以在各个系统级别轻松安装Django以供任何用户使用。
  • 通过Virtualenv中的pip安装:Python virtualenv包允许您为各种项目创建自含环境。使用此技术,您可以在项目目录中安装Django,而不会影响系统级软件包。
  • 开发版本通过git安装:如果您希望安装最新的开发版本而不是稳定版本,则必须从git获取代码。但是,开发版本没有稳定保证。

考虑到上述注意事项,请根据以下说明选择最适合您的安装方法。

从软件包中全局安装

如果您希望使用Debian存储库安装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
1.7.11

这意味着该软件已成功安装。您可能还注意到Django版本不是最新版本。

通过pip全局安装

如果您希望通过全局安装最新版本的Django,更好的选择是使用pip,一个Python包管理器。首先,我们需要安装pip包管理器。刷新apt包索引:

$ sudo apt-get update

现在,您可以安装相应的软件包并完成安装。您需要的软件包和命令取决于使用的Python版本。

Python 2

如果您打算使用Python 2,请使用以下命令安装pipPython包管理器:

$ sudo apt-get install python-pip

当您有了pip后,你可以通过输入以下内容轻松安装Django:

$ sudo pip install django

您可以通过输入以下内容来验证安装是否成功:

$ django-admin --version
1.10.4

正如您所看到的,通过pip提供的版本比Debian存储库中的版本更新(您的版本可能与上面的版本不同)。

Python 3

如果您打算使用Python 3,请pip使用以下命令安装:

$ sudo apt-get install python3-pip

接下来,我们可以通过输入pip命令并利用软件包管理器来安装Django:

$ sudo pip3 install django

要验证安装是否正确完成,请输入:

$ django-admin --version
1.10.4

通过安装的版本pip应该是最新的稳定版本(具体版本可能与上面显示的版本不同)。

通过pip安装Virtualenv

也许在您的系统上安装Django最灵活的方法是使用virtualenv工具。此工具允许您创建虚拟Python环境,您可以在其中安装所需的任何Python软件包,而不会影响系统的其余部分。这允许您基于每个项目选择Python软件包,而不管是否与其他项目的要求冲突。

我们将从Debian存储库开始安装pip。在开始之前刷新本地包索引:

$ sudo apt-get update

安装Django所需的软件包和命令因您希望用于项目的Python版本而异。按照以下说明获取要使用的Python版本。

Python 2

第一步是全覆盖安装pip。使用Python 2时,执行此操作的命令是:

$ sudo apt-get install python-pip

一旦pip被安装,你可以通过输入以下命令来安装virtualenv软件包:

$ sudo pip install virtualenv

现在,无论何时启动新项目,都可以为其创建虚拟环境。首先创建并移动到新的项目目录:

$ mkdir ~/projectname
$ cd ~/projectname

现在,通过的输入以下内容在项目目录中创建虚拟环境:

$ virtualenv venv

这将在项目目录中的独立目录结构中安装独立版本的Python以及pip。我们选择将我们的虚拟环境称为venv,您也可以改成其他名称。将使用您选择的名称创建一个目录,该目录将保存安装程序包的文件层次结构。

要将软件包安装到隔离环境中,必须通过输入以下命令将其激活:

$ cd ~/projectname
$ source venv/bin/activate

您的提示应该更改以反映您现在处于虚拟环境中。它看起来类似(venv)username@hostname:~/projectname$.

在新环境中,您可以使用pip来安装Django。你并不需要使用sudo,因为您在本地安装:

(venv) $ pip install django

您可以输入以下内容来验证安装:

(venv) $ django-admin --version
1.10.4

如您所见,Django已安装在虚拟环境中。

注意:要退出虚拟环境,请从系统上的任何位置使用deactivate命令:

(venv) $ deactivate

您的提示应恢复为传统显示。

当您希望再次处理项目时,您应该重新激活虚拟环境,方法是返回项目目录并激活:

$ cd ~/projectname
$ source venv/bin/activate

Python 3

第一步是全覆盖安装pip。要使用Python 3执行此操作,请输入:

$ sudo apt-get install python3-pip

接下来,使用刚刚安装的软件包管理器来安装virtualenvPython软件包:

$ sudo pip3 install virtualenv

接下来,创建一个虚拟环境来保存新项目的包。首先创建并移动到新的项目目录:

$ mkdir ~/projectname
$ cd ~/projectname

输入以下内容,在项目目录中创建虚拟环境:

$ virtualenv venv

这将在项目目录中的独立目录结构中安装独立版本的Python以及pip。将创建一个目录,其名称作为参数传入。我们在这里选择venv。此目录将保存将安装软件包的文件层次结构。

在将软件包安装到虚拟环境之前,必须输入以下命令将其激活:

$ cd ~/projectname
$ source venv/bin/activate

您的命令提示符现在应该以您的虚拟环境的名称为前缀。它看起应类似。(venv)username@hostname:~/projectname$.

在新环境中,使用pip安装Django。请注意,即使我们使用Python 3,命令中的虚拟环境还是pip(不是pip3)。另请注意,由于您在本地安装,因此无需使用sudo:

(venv) $ pip install django

您可以输入以下内容来验证安装:

(venv) $ django-admin --version
1.10.4

如您所见,Django已安装在虚拟环境中。

注意:要退出虚拟环境,请从系统上的任何位置使用deactivate命令:

(venv) $ deactivate

您的提示应恢复为传统显示。

当您希望再次处理项目时,您应该重新激活虚拟环境,方法是返回项目目录并激活:

$ cd ~/projectname
$ source venv/bin/activate

通过git安装开发版本

如果您需要Django的开发版本,则必须从项目的git存储库下载并安装Django 。

为此,您将首先使用apt在您的系统上安装git。我们还需要pip,用于从下载的源代码安装。

Python 2

如果您使用的是Python 2,则可以通过输入以下内容来更新软件包索引并安装必要的软件包:

$ sudo apt-get update
$ sudo apt-get install git python-pip

完成后git,您可以复制Django存储库。在发行版之间,此存储库将具有更多最新功能和错误修复,可能会牺牲稳定性。您可以通过输入以下命令将存储库克隆到主目录中django-dev的目录:

$ git clone git://github.com/django/django ~/django-dev

克隆存储库后,您可以使用pip进行安装。我们将使用-e选项以“可编辑”模式安装,这在从版本控制安装时是必需的。如果您使用的是Python的第2版,请输入:

$ sudo pip install -e ~/django-dev

您可以通过输入以下内容来验证安装是否成功:

$ django-admin --version
1.11.dev20161220175814

请记住,如果您希望在单个环境中安装Django的开发版本,可以将此策略与virtualenv结合使用。

Python 3

如果您使用的是Python 3,请更新软件包索引并安装git和pip并输入:

$ sudo apt-get update
$ sudo apt-get install git python3-pip

接下来,您可以通过输入以下命令将Django存储库克隆到主目录中调用的django-dev目录:

$ git clone git://github.com/django/django ~/django-dev

您可以使用pip直接从git目录安装Django。-e选项允许我们以“可编辑”模式安装,从版本控制存储库安装时需要这种模式:

$ sudo pip3 install -e ~/django-dev

您可以通过输入以下内容来验证安装是否成功:

$ django-admin --version
1.11.dev20161220175814

如果您希望在隔离环境中安装开发版本,可以将此策略与virtualenv策略结合使用。

创建示例项目

一旦安装了Django,我们就可以向您展示如何开始项目。

创建项目基础

使用django-admin命令创建项目。这将在当前目录中创建一个名为projectname的目录。在这个新目录中,将创建一个管理脚本,并使用实际代码创建另一个名为projectname的目录。

注意:如果您已经创建了一个用于virtualenv命令的主项目目录,则可以告诉Django将管理脚本和内部目录直接放入现有目录中。这将有助于避免额外的项目目录层。

$ cd ~/projectname
$ source venv/bin/activate
$ django-admin startproject projectname .

注意命令末尾的句点。

要创建完整目录结构(主项目目录,管理脚本和内部项目目录),请输入:

$ django-admin startproject projectname
$ cd projectname

要引导数据库(默认情况下使用SQLite),请输入:

$ ./manage.py migrate

接下来,输入以下内容创建管理用户:

$ ./manage.py createsuperuser

系统将要求您为用户选择用户名,电子邮件地址和密码。

在Django设置中修改ALLOWED_HOSTS

在测试应用程序之前,需要修改Django设置中的一个指令。

输入以下命令打开设置文件:

$ nano ~/projectname/projectname/settings.py

在里面,找到该ALLOWED_HOSTS指令,定义了用于连接Django实例的地址或域名的白名单。不在此列表中的任何传入请求都将引发异常。Django要求您将其设置为防止某类安全漏洞。

在方括号中,列出与Django服务器关联的IP地址或域名。每个项目都应该在引号中列出,用逗号分隔。如果您希望响应域和子域的任何请求,在后面添加.。在下面的代码段中,有一些注释掉的示例用于演示ALLOWED_HOSTS指令的正确方法:

~/myproject/myproject/settings.py

. . .

. . .
# The simplest case: just add the domain name(s) and IP addresses of your Django server
# ALLOWED_HOSTS = [ 'example.com', '203.0.113.5']
# To respond to 'example.com' and any subdomains, start the domain with a dot
# ALLOWED_HOSTS = ['.example.com', '203.0.113.5']
ALLOWED_HOSTS = ['your_server_domain_or_IP', 'second_domain_or_IP', . . .]

完成后,保存并关闭文件。

使用您的Development Server进行测试

接下来,启动Django开发服务器,看看新的Django项目是什么样的。

注意:在尝试开发服务器之前,请确保打开防火墙中的端口。

如果您正在运行一个ufw防火墙,可以通过输入以下命令打开相应的端口:

$ sudo ufw allow 8000

如果您运行的是iptables防火墙,则所需的命令取决于您当前的防火墙配置。对于大多数配置,以下命令都能起作用:

$ sudo iptables -I INPUT -p tcp --dport 8000 -j ACCEPT

输入以下命令启动服务器:

$ ~/projectname/manage.py runserver 0.0.0.0:8000

访问服务器的IP地址,然后在Web浏览器中访问:8000

http://server_ip_address:8000

你应该看到类似这样的界面:

Django public page

现在,附加/admin到URL的末尾以进入管理员登录页面:

server_ip_address:8000/admin
Django admin login

如果您输入刚刚创建的管理员用户名和密码,则应该转到该站点的管理部分:

Django admin page

查看完默认站点后,可以通过使用CTRL-C终端来停止服务器。

结论

您现在应该在Debian 8服务器上已经安装了Django,还知道如何创建新项目并启用服务器。利用像Django这样的完整Web框架可以帮助您更快地开发。如果需要创建了一个Django应用程序并将其连接到MySQL数据库启用和连接Django管理界面等等相关教程,欢迎访问腾讯云+社区学习更多知识。


参考文献:《How To Install the Django Web Framework on Debian 8》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习之tensorflow实战篇

查找python项目依赖并生成requirements.txt与安装,指定路径

Python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。 我的是python -m 指...

4396
来自专栏晓晨的专栏

Jenkins 无法捕获构建脚本错误问题

编写构建脚本执行,发现脚本执行出错,不会中断构建过程,导致最后展现的构建结果是错误的。

1111
来自专栏我的博客

mac安装memcache

安装memcached服务 brew install memcached 配置开机启动(用brew安装之后下面会提示怎么启动) ln -sfv /usr/loc...

3626
来自专栏Ryan Miao

Linux安装配置tomcat

1.首先配置好jdk 查看java版本:java -verson 1.官网下载jdk 2.tar -zxvf xxxx.tar.gz   解压 3.配置环境变量...

3688
来自专栏Java后端生活

JavaWeb(三)第一个 WEB 应用程序

1357
来自专栏杂七杂八

CentOS安装python3.6

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel r...

1143
来自专栏Aloys的开发之路

Android真机安装sqlite3的方法

Android版本: 4.4.2 PS C:\Users\jiang> adb shell shell@hwH60:/ $ su - root # 此时输入s...

3009
来自专栏程序员互动联盟

【C语言基础】fopen函数使用

r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表text r 打开只读文件,该文件必须存在 r+ 打开可读可写的文件,该文件...

36515
来自专栏北京马哥教育

【环境准备】测试驱动学习开篇

一、环境准备 使用pythonbrew加速你的环境构建 1、安装pythonbrew pip install pythonbrew [[ -s $HOME/.p...

3055
来自专栏SDNLAB

ONOS编程系列(三)应用模板

此文章承接ONOS编程系列(二)命令行命令与服务开发,本文将为你介绍ONOS编程系列(三)应用模板。 每次新建项目都要重新手动构建应用项目的骨架,而且应用都放在...

3465

扫码关注云+社区