前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 18.04上安装Django Web Framework

如何在Ubuntu 18.04上安装Django Web Framework

原创
作者头像
苏子晨
修改2018-10-12 17:41:59
2.7K0
修改2018-10-12 17:41:59
举报

介绍

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

在本教程中,您将在Ubuntu 18.04服务器上启动并运行Django。安装完成后,您将启动一个新项目作为站点的基础。

要完成本教程,您需要具备一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

不同的方法

安装Django有多种方法,具体取决于您的需求以及您希望如何配置开发环境。它们具有不同的优点,一种方法可能比其他方法更适合您的具体情况。

一些不同的方法包括:

  • 从软件包进行全局安装:官方Ubuntu存储库包含可以与传统的apt软件包管理器一起安装的Django软件包。这很简单,但不如其他一些方法灵活。此外,存储库中包含的版本可能落后于项目中可用的官方版本。
  • pip在虚拟环境中安装:您可以使用venvvirtualenv等工具为项目创建自包含环境。虚拟环境允许您在项目目录中安装Django,而不会影响较大的系统,以及其他每个项目的自定义和包。这通常是使用Django最实用和最值得推荐的方法。
  • 开发版本安装git:如果您希望安装最新的开发版本而不是稳定版本,您可以从Git仓库获取代码。这是获取最新功能/修复所必需的,可以在您的虚拟环境中完成。但是,开发版本不具有与更稳定版本相同的稳定性保证。

准备

在开始之前,您应该在Ubuntu 18.04服务器上拥有一个具有sudo权限的非root用户。

从安装包中进行全局安装

如果您希望使用Ubuntu存储库安装Django,则该过程非常简单。

首先,使用apt命令更新本地包索引:

代码语言:javascript
复制
sudo apt update

接下来,检查已安装的Python版本。默认情况下,18.04附带Python 3.6,您可以通过键入以下内容来验证:

代码语言:javascript
复制
python3 -V

你应该看到这样的输出:

代码语言:javascript
复制
Python 3.6.5

接下来,安装Django:

代码语言:javascript
复制
sudo apt install python3-django

您可以通过键入以下内容来测试安装是否成功:

代码语言:javascript
复制
django-admin --version
代码语言:javascript
复制
1.11.11

这意味着该软件已成功安装。

在虚拟环境中使用pip进行安装

在您的系统上安装Django的最灵活方式是在虚拟环境中。我们将向您展示如何在我们将使用venv模块创建的虚拟环境中安装Django,该模块是标准Python 3库的一部分。此工具允许您创建虚拟Python环境并安装Python包,而不会影响系统的其余部分。因此,无论是否与其他项目的要求发生冲突,您都可以基于每个项目选择Python包。

让我们从刷新本地包索引开始:

代码语言:javascript
复制
sudo apt update

检查已安装的Python版本:

代码语言:javascript
复制
python3 -V
代码语言:javascript
复制
Python 3.6.5

接下来,让我们从Ubuntu存储库安装pip

代码语言:javascript
复制
sudo apt install python3-pip

一旦pip被安装,你可以用它来安装venv包:

代码语言:javascript
复制
sudo apt install python3-venv

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

代码语言:javascript
复制
mkdir ~/newproject
cd ~/newproject

接下来,使用python与您的Python版本兼容的命令在项目目录中创建虚拟环境。我们将调用我们的虚拟环境my_env,但您应该将其命名为描述性的:

代码语言:javascript
复制
python3.6 -m venv my_env

这将安装独立版本的Python并pip进入项目目录中的独立目录结构。将使用您选择的名称创建一个目录,该目录将保存将安装程序包的文件层次结构。

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

代码语言:javascript
复制
source my_env/bin/activate

您的提示应该更改以反映您现在处于虚拟环境中。它看起来像(my_env)username@hostname:~/newproject$这样。

在新环境中,您可以使用pip安装Django。无论您的Python版本如何,pip都应该在虚拟环境中调用pip。另请注意,由于您在本地安装,因此无需使用sudo

代码语言:javascript
复制
pip install django

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

代码语言:javascript
复制
django-admin --version
代码语言:javascript
复制
2.1

请注意,您的版本可能与此处显示的版本不同。

要离开虚拟环境,您需要从系统的任何位置发出命令deactivate

代码语言:javascript
复制
deactivate

您的提示应恢复为传统显示。当您希望再次处理项目时,请通过返回项目目录并激活以下内容来重新激活虚拟环境:

代码语言:javascript
复制
cd ~/newproject
source my_env/bin/activate

开发版使用Git安装

如果您需要Django的开发版本,可以从其Git存储库下载并安装Django。让我们从虚拟环境中做到这一点。

首先,让我们更新本地包索引:

代码语言:javascript
复制
sudo apt update

检查已安装的Python版本:

代码语言:javascript
复制
python3 -V
代码语言:javascript
复制
Python 3.6.5

接下来,pip从官方存储库安装:

代码语言:javascript
复制
sudo apt install python3-pip

安装venv包以创建虚拟环境:

代码语言:javascript
复制
sudo apt install python3-venv

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

代码语言:javascript
复制
git clone git://github.com/django/django ~/django-dev

切换到此目录:

代码语言:javascript
复制
cd ~/django-dev

使用python与已安装的Python版本兼容的命令创建虚拟环境:

代码语言:javascript
复制
python3.6 -m venv my_env

激活它:

代码语言:javascript
复制
source my_env/bin/activate

接下来,您可以使用安装存储库pip。该-e选项将以“可编辑”模式安装,从版本控制安装时这是必需的:

代码语言:javascript
复制
pip install -e ~/django-dev

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

代码语言:javascript
复制
django-admin --version
代码语言:javascript
复制
2.2.dev20180802155335

同样,您看到的版本可能与此处显示的版本不匹配。

您现在在虚拟环境中拥有最新版本的Django。

创建示例项目

安装Django后,您就可以开始构建项目了。我们将讨论如何使用虚拟环境在开发服务器上创建项目并对其进行测试。

首先,为项目创建一个目录并进行更改:

代码语言:javascript
复制
mkdir ~/django-test
cd ~/django-test

接下来,创建您的虚拟环境:

代码语言:javascript
复制
python3.6 -m venv my_env

激活环境:

代码语言:javascript
复制
source my_env/bin/activate

安装Django:

代码语言:javascript
复制
pip install django

要构建项目,可以用startproject命令使用django-admin。我们将我们的项目命名为djangoproject,但您可以使用其他名称替换它。startproject将在您当前的工作目录中创建一个目录,其中包括:

  • 管理脚本,manage.py可用于管理各种特定于Django的任务。
  • 包含实际项目代码的目录(与项目同名)。

但是,为了避免有太多嵌套目录,让我们告诉Django将管理脚本和内部目录放在当前目录中(注意结束点):

代码语言:javascript
复制
django-admin startproject djangoproject .

要迁移数据库(此示例默认使用SQLite),让我们用manage.py使用migrate命令。迁移将您对Django 模型所做的任何更改应用于数据库模式。

要迁移数据库,请键入:

代码语言:javascript
复制
python manage.py migrate

您将看到如下输出:

代码语言:javascript
复制
OutputOperations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying sessions.0001_initial... OK

最后,让我们创建一个管理用户,以便您可以使用Djano管理界面。让我们用createsuperuser命令执行此操作:

代码语言:javascript
复制
python manage.py createsuperuser

系统将提示您输入用户名,电子邮件地址和密码。

在Django设置中修改ALLOWED_HOSTS

要成功测试您的应用程序,您需要修改Django设置中的一个指令。

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

代码语言:javascript
复制
nano ~/django-test/djangoproject/settings.py

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

在方括号中,列出与Django服务器关联的IP地址或域名。每个项目都应该在引号中列出,单独的条目用逗号分隔。如果您需要整个域和任何子域的请求,请在条目的开头添加一个句点:

代码语言:javascript
复制
. . .
ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', . . .]

完成后,保存文件并退出编辑器。

测试开发服务器

一旦有了用户,就可以启动Django开发服务器,看看新的Django项目是什么样的。您应该仅将其用于开发目的。当您准备部署时,请务必仔细遵循Django的部署教程。

在尝试开发服务器之前,请确保在防火墙中打开相应的端口。如果您按照初始服务器设置教程并使用UFW,则可以通过键入以下内容来打开端口8000

代码语言:javascript
复制
sudo ufw allow 8000

启动开发服务器:

代码语言:javascript
复制
python manage.py runserver your_server_ip:8000

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

代码语言:javascript
复制
http://your_server_ip:8000

你应该看到这样的东西:

要访问管理界面,请添加/admin/到URL的末尾:

代码语言:javascript
复制
http://your_server_ip:8000/admin/

这将带您进入登录屏幕:

如果您输入刚刚创建的管理员用户名和密码,您将可以访问该站点的主管理员部分:

查看完默认站点后,可以通过在终端键入CTRL-C来停止开发服务器。

您创建的Django项目为设计更完整的站点提供了结构基础。查看Django文档,了解有关如何构建应用程序和自定义站点的更多信息。

结论

您现在应该在Ubuntu 18.04服务器上安装Django,提供创建功能强大的Web应用程序所需的主要工具。您还应该知道如何启动新项目并启动开发人员服务器。利用像Django这样的完整Web框架可以帮助您更快地开发,使您只能专注于应用程序的独特方面。

想要了解更多关于安装Django Web Framework的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How To Install the Django Web Framework on Ubuntu 18.04》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 不同的方法
  • 准备
  • 从安装包中进行全局安装
  • 在虚拟环境中使用pip进行安装
  • 开发版使用Git安装
  • 创建示例项目
  • 在Django设置中修改ALLOWED_HOSTS
  • 测试开发服务器
  • 结论
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档