如何在 Ubuntu 18.04 上安装 Django

2023-10-24

Django 是一个免费开源的高级 Python Web 框架,旨在帮助开发人员构建安全、可扩展和可维护的 Web 应用程序。

有不同的方法来安装 Django,具体取决于您的需要。它可以在系统范围内安装,也可以使用 pip 安装在 Python 虚拟环境中。

Django 软件包也包含在官方 Ubuntu 存储库中,可以使用以下命令安装apt包管理器。这是在 Ubuntu 18.04 上安装 Django 最简单的方法,但不如在虚拟环境中安装灵活。此外,存储库中包含的版本始终落后于 Django 的最新版本。

Python虚拟环境的主要目的是为不同的Python项目创建一个隔离的环境。这样,您可以在一台计算机上拥有多个不同的 Django 环境,并在每个项目的基础上安装特定版本的模块,而不必担心它会影响您的其他 Django 安装。如果将 Django 安装到全局环境中,那么您只能在计算机上安装一个 Django 版本。

在 Ubuntu 18.04 上安装 Django#

以下部分提供了有关如何在 Django 中安装 Django 的分步说明。Python虚拟环境在 Ubuntu 18.04 上。

安装 Python 3 和 venv#

Ubuntu 18.04 默认附带 Python 3.6。您可以通过键入以下内容来验证您的系统上是否安装了 Python 3:

python3 -V

输出应如下所示:

Python 3.6.6

从Python 3.6开始,创建虚拟环境的推荐方式是使用venv模块。要安装python3-venv包提供了venv模块运行以下命令:

sudo apt install python3-venv

安装模块后,我们就可以为 Django 应用程序创建虚拟环境了。

创建虚拟环境#

首先导航到您想要存储 Python 3 虚拟环境的目录。它可以是您的主目录或您的用户具有读写权限的任何其他目录。

创建一个新目录对于您的 Django 应用程序和navigate进去:

mkdir my_django_appcd my_django_app

进入目录后,运行以下命令来创建新的虚拟环境:

python3 -m venv venv

上面的命令创建一个名为的目录venv,其中包含 Python 二进制文件的副本,点包管理器、标准Python库和其他支持文件。您可以为虚拟环境使用任何您想要的名称。

要开始使用此虚拟环境,您需要通过运行以下命令来激活它activate script:

source venv/bin/activate

激活后,虚拟环境的bin目录将被添加到$PATH多变的。此外,您的 shell 提示符也会发生变化,并且会显示您当前正在使用的虚拟环境的名称。在我们的例子中就是venv.

安装Django#

现在虚拟环境已激活,您可以使用Python包管理器pip来安装Django:

pip install django
在虚拟环境中,可以使用命令pip代替pip3 and python代替python3.

要验证安装,请使用以下命令,该命令将打印 Django 版本:

python -m django --version

在撰写本文时,最新的官方 Django 版本是 2.1.2

2.1.2

您的 Django 版本可能与此处显示的版本不同。

创建 Django 项目#

创建一个名为的新 Django 项目mydjangoapp使用django-admin命令行实用程序:

django-admin startproject mydjangoapp

上面的命令将创建一个mydjangoapp目录在当前目录中。

tree  mydjangoapp/
mydjangoapp/
|-- manage.py
`-- mydjangoapp
    |-- __init__.py
    |-- settings.py
    |-- urls.py
    `-- wsgi.py

在该目录中,您将找到用于管理名为的项目的主脚本manage.py另一个目录包括数据库配置、Django 和应用程序特定的设置。

让我们迁移数据库并创建一个管理用户。

首先导航到mydjangoapp目录:

cd mydjangoapp

默认情况下,Django 使用 SQLite 数据库。对于生产应用程序,您可以使用PostgreSQL , MariaDB、甲骨文或MySQL数据库。

执行以下命令迁移数据库:

python manage.py migrate

输出将如下所示:

Operations 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

数据库迁移后,创建一个管理用户,以便您可以使用 Django 管理界面:

python manage.py createsuperuser

该命令将提示您输入管理用户的用户名、电子邮件地址和密码。

Username (leave blank to use 'linuxize'): admin
Email address: admin@linuxize.com
Password:
Password (again):
Superuser created successfully.

测试开发服务器#

使用以下命令启动开发 Web 服务器manage.py脚本后跟runserver option:

python manage.py runserver

您将看到以下输出:

Performing system checks...

System check identified no issues (0 silenced).
October 20, 2018 - 11:16:28
Django version 2.1.2, using settings 'mydjangoapp.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
如果您将 Django 安装在虚拟机如果你想访问 Django 开发服务器,那么你需要编辑settings.py文件并在里面添加服务器IP地址ALLOWED_HOSTS list.

Open http://127.0.0.1:8000在您的网络浏览器中,您将看到默认的 Django 登录页面:

您可以通过添加来访问 Django 管理界面/admin/到 URL 的末尾(http://127.0.0.1:8000/admin/)。这将带您进入管理员登录屏幕:

输入您的用户名和密码,您将被重定向到 Django 管理页面:

停止开发服务器类型CTRL-C在您的终端中。

停用虚拟环境#

完成工作后,通过键入以下命令停用环境deactivate然后您将返回到正常的外壳。

deactivate

结论#

您已经学习了如何创建 Python 虚拟环境并在 Ubuntu 18.04 计算机上安装 Django。要创建其他 Django 开发环境,请重复我们在本教程中概述的步骤。

如果您是 Django 新手,请访问Django 文档页面并学习如何开发您的第一个 Django 应用程序。

如果您遇到任何问题,请随时发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 上安装 Django 的相关文章

  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • 处理 Python 行为测试框架中的异常

    我一直在考虑从鼻子转向行为测试 摩卡 柴等已经宠坏了我 到目前为止一切都很好 但除了以下之外 我似乎无法找出任何测试异常的方法 then It throws a KeyError exception def step impl contex
  • 跟踪 pypi 依赖项 - 谁在使用我的包

    无论如何 是否可以通过 pip 或 PyPi 来识别哪些项目 在 Pypi 上发布 可能正在使用我的包 也在 PyPi 上发布 我想确定每个包的用户群以及可能尝试积极与他们互动 预先感谢您的任何答案 即使我想做的事情是不可能的 这实际上是不
  • 在Python中检索PostgreSQL数据库的新记录

    在数据库表中 第二列和第三列有数字 将会不断添加新行 每次 每当数据库表中添加新行时 python 都需要不断检查它们 当 sql 表中收到的新行数低于 105 时 python 应打印一条通知消息 警告 数量已降至 105 以下 另一方面
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 无法在 mysql-apt-config [Ubuntu 14.04] 中选择“确定”

    我使用的是 Ubuntu 14 04 sudo apt get update总是给我这个选项来配置 mysql apt config 我尝试选择版本 按 tab gt 在 确定 上突出显示的键 按 Enter 但没有任何反应 它再次返回并突
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 加快网络抓取速度

    我正在使用一个非常简单的网络抓取工具抓取 23770 个网页scrapy 我对 scrapy 甚至 python 都很陌生 但设法编写了一个可以完成这项工作的蜘蛛 然而 它确实很慢 爬行 23770 个页面大约需要 28 小时 我看过scr
  • pip 列出活动 virtualenv 中的全局包

    将 pip 从 1 4 x 升级到 1 5 后pip freeze输出我的全局安装 系统 软件包的列表 而不是我的 virtualenv 中安装的软件包的列表 我尝试再次降级到 1 4 但这并不能解决我的问题 这有点类似于这个问题 http
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 从 NumPy ndarray 中选择行

    我只想从 a 中选择某些行NumPy http en wikipedia org wiki NumPy基于第二列中的值的数组 例如 此测试数组的第二列包含从 1 到 10 的整数 gt gt gt test numpy array nump
  • import matplotlib.pyplot 给出 AttributeError: 'NoneType' 对象没有属性 'is_interactive'

    我尝试在 Pycharm 控制台中导入 matplotlib pyplt import matplotlib pyplot as plt 然后作为回报我得到 Traceback most recent call last File D Pr
  • 使用特定颜色和抖动在箱形图上绘制数据点

    我有一个plotly graph objects Box图 我显示了箱形 图中的所有点 我需要根据数据的属性为标记着色 如下所示 我还想抖动这些点 下面未显示 Using Box我可以绘制点并抖动它们 但我不认为我可以给它们着色 fig a
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • 在 Ubuntu 中使用 Gstreamer 通过 RTP 协议流式传输 Mp4 视频

    我正在尝试从本地目录获取视频文件 启用来自服务器的流并从客户端捕获这些帧 我使用了以下管道 服务器端 gst launch v filesrc location home gokul Videos Econ TestVideo radioa
  • 模拟pytest中的异常终止

    我的多线程应用程序遇到了一个错误 主线程的任何异常终止 例如 未捕获的异常或某些信号 都会导致其他线程之一死锁 并阻止进程干净退出 我解决了这个问题 但我想添加一个测试来防止回归 但是 我不知道如何在 pytest 中模拟异常终止 如果我只
  • 如何应用一个函数 n 次? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 假设我有一个函数 它接受一个参数并返回相同类型的结果 def increment x return x 1 如何制作高阶函数repeat可以

随机推荐

  • 掌握 Python 时间模块:综合指南

    time 模块是Python 中的标准模块 使用 Python 时 包含与时间相关的操作至关重要 time模块提供了各种与时间相关的函数和方法 可以通过导入time模块来访问 import time 除非另有说明 时间模块表示自纪元以来的时
  • 如何编写实用的 shell 脚本

    在上一篇文章中 我们谈到了常用表达 我们看到了如何在 sed 和 awk 中使用它们进行文本处理 我们之前讨论过Linux sed命令和awk 命令 在这个系列中 我们编写了一些小的 shell 脚本 但我们没有把事情搞混 我认为我们应该更
  • Windows Server 事件日志备份脚本

    作为系统管理员 我们有责任备份并定期保存 Windows 服务器事件日志 另外 请将它们存储在外部驱动器或云存储上 我们建议每天备份事件日志并保留至少一年的备份 事件日志帮助我们对系统进行故障排除 这是一个批处理脚本 用于进行 Window
  • 出于安全原因,默认情况下禁用异常打印。错误日志记录号:xxxxxx

    安装 magento 时 如果您遇到如下问题 这是已知问题 Error Exception printing is disabled by default for security reasons Error log record numb
  • 如何在 Ubuntu 和 Linux Mint 上安装最新内核

    Ubuntu 和 Linux Mint 是两个流行的 Linux 发行版 被个人和组织广泛使用 使用 Linux 的好处之一是能够升级到最新的内核版本 在本文中 我们将指导您完成在 Ubuntu 和 Linux Mint 上安装最新内核的步
  • 如何在 PHP 中读取 XML 文件 (SimpleXML)

    SimpleXML 是 PHP 5 中引入的 PHP 扩展 它允许用户在 PHP 中轻松处理 XML 数据 SimpleXML 将任何 XML 数据转换为可以使用普通属性选择器和数组迭代器轻松处理的对象 您必须已安装php simplexm
  • 如何在 Ubuntu 22.04 上安装 MariaDB

    MariaDB是一个流行的开源关系数据库系统 由MySQL服务器的原始开发人员开发 它最初是从 MySQL 服务器分叉出来的 并进行了多项增强 本教程将指导您在 Ubuntu 22 04 Linux 系统上安装 MariaDB 服务器 1
  • 如何使用 JavaScript 替换字符串中的所有点 (.)

    JavaScript 提供了多种操作字符串的方法 当涉及到替换字符串中的字符时 String prototype replace 立即想到方法 但是 当使用替换方法并以简单字符串作为搜索值时 它只会替换第一个出现的位置 替换所有出现的字符
  • 如何在 Debian 11/10 上安装和使用 Cordova

    阿帕奇科尔多瓦是一个开源移动开发框架 它允许您使用 HTML5 CSS3 和 JavaScript 等标准 Web 技术进行跨平台开发 避免使用每个移动平台的本机开发语言 Apache Cordova 命令行需要 Node js 才能运行
  • 如何在 Ubuntu 16.04 LTS 上安装 Swift

    Swift 是一种安全 快速 富有表现力的通用编程语言 专为软件设计模式而构建 它最适合系统编程 移动和桌面应用程序 Swift 提供了大量功能 使编程变得更加容易 同时为开发人员提供了真正的系统编程语言所需的控制能力 本教程将帮助您在 U
  • 如何在 Fedora Linux 上安装 Git

    Git 是一个分布式版本控制系统 广泛应用于软件开发和其他协作项目 在本指南中 我们将介绍在 Fedora Linux 上安装 Git 的两种方法 使用官方存储库和从最新源代码编译 先决条件 确保您有一个运行 Fedora Linux 的系
  • 如何在 Python 中计算两个日期之间的天数

    在 Python 中处理日期和时间时 计算两个日期之间的天数是一项常见任务 无论您是构建预订系统 日程安排工具还是任何其他涉及日期和时间的应用程序 计算两个日期之间的天数都是一个关键功能 在本文中 我们将讨论如何在 Python 中计算两个
  • 什么是中间人 (MITM) 攻击?

    A 中间人 MITM 攻击是一种常见的网络安全威胁 如果处理不当 可能会造成严重后果 在这种类型的攻击中 恶意行为者会拦截 中继并可能改变认为彼此直接通信的两方之间的通信 本文将深入探讨 MITM 攻击带来的威胁 攻击者使用的技术以及个人和
  • 如何利用技术进步实现完美的远程办公

    远程工作并不是一个新趋势 作家 记者和艺术家总是有机会在舒适的家中工作 尽管如此 远程办公始终与技术密切相关 在过去 远程工作人员依赖邮件服务和交通 随着这两个领域变得越来越好 越来越多的人能够在家执行工作任务 然而 直到互联网的出现 这种
  • 如何在 Debian 9 上设置 Apache 虚拟主机

    在本教程中 我们将引导您了解如何在 Debian 9 上设置 Apache 虚拟主机 Apache 虚拟主机允许您在一台计算机上托管多个域 使用虚拟主机时 您可以为每个域或子域指定不同的文档根 包含网站文件的目录 创建单独的安全策略 使用不
  • 如何在 CentOS 8 上安装 R

    R 是一种开源编程语言和免费环境 专门从事统计计算和图形表示 它由 R 统计计算基金会支持 主要供统计学家和数据挖掘人员用于开发统计软件和执行数据分析 本文介绍如何在 CentOS 8 上安装 R 先决条件 在继续本教程之前 请确保您已满足
  • 如何更改 SFTP 端口

    SFTP SSH 文件传输协议 是一种安全文件协议 用于通过加密连接在两台主机之间传输文件 它还允许您对远程文件执行各种文件操作并恢复文件传输 SFTP 可用作旧版 FTP 协议的替代品 它具有 FTP 的所有功能 但连接更安全 本文介绍如
  • 如何在 Ubuntu 18.04 上设置或更改时区

    在 Ubuntu 上 系统的时区是在安装过程中设置的 但以后可以轻松更改 使用正确的时区对于许多与系统相关的任务和流程都很重要 例如 cron 守护进程使用系统的时区来执行 cron 作业 并且日志文件中的时间戳基于相同的时区 本教程演示如
  • 如何在 Debian 9 上安装 Yarn

    Yarn 是一个与 npm 兼容的 JavaScript 包管理器 它的创建是为了解决 npm 的一系列问题 例如通过并行操作加快软件包安装过程并减少与网络连接相关的错误 在本教程中 我们将指导您如何安装Yarn在 Debian 9 系统上
  • 如何在 Ubuntu 18.04 上安装 Django

    Django 是一个免费开源的高级 Python Web 框架 旨在帮助开发人员构建安全 可扩展和可维护的 Web 应用程序 有不同的方法来安装 Django 具体取决于您的需要 它可以在系统范围内安装 也可以使用 pip 安装在 Pyth