Django是一个功能齐全的Python Web框架,用于开发动态网站和应用程序。使用Django,您可以快速创建Python Web应用程序,并依靠该框架来完成繁重的工作。
在本教程中,我们将向您展示如何在Debian 8服务器上启动并运行Django。安装完成后,我们将向您展示如何在您网站上创建一个新项目。
在开始之前,您应该拥有一个在root用户服务器上可以使用sudo
命令权限的非root用户。没有服务器的同学可以在这里购买。
根据您的需求以及您希望如何配置开发环境,可以通过多种方式安装Django。它们具有不同的优点,找到其中一种更适合您具体情况的方法。
一些不同的方法如下:
pip
工具是Python包的软件包管理器。如果安装pip
,您可以在各个系统级别轻松安装Django以供任何用户使用。virtualenv
包允许您为各种项目创建自含环境。使用此技术,您可以在项目目录中安装Django,而不会影响系统级软件包。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版本不是最新版本。
如果您希望通过全局安装最新版本的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
应该是最新的稳定版本(具体版本可能与上面显示的版本不同)。
也许在您的系统上安装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
如果您需要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设置中的一个指令。
输入以下命令打开设置文件:
$ 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', . . .]
完成后,保存并关闭文件。
接下来,启动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
你应该看到类似这样的界面:
现在,附加/admin
到URL的末尾以进入管理员登录页面:
server_ip_address:8000/admin
如果您输入刚刚创建的管理员用户名和密码,则应该转到该站点的管理部分:
查看完默认站点后,可以通过使用CTRL-C
终端来停止服务器。
您现在应该在Debian 8服务器上已经安装了Django,还知道如何创建新项目并启用服务器。利用像Django这样的完整Web框架可以帮助您更快地开发。如果需要创建了一个Django应用程序并将其连接到MySQL数据库,启用和连接Django管理界面等等相关教程,欢迎访问腾讯云+社区学习更多知识。
参考文献:《How To Install the Django Web Framework on Debian 8》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。