首页 > 系统相关 >快速上手:Ubuntu上的 Django 框架安装与配置

快速上手:Ubuntu上的 Django 框架安装与配置

时间:2024-11-25 10:01:41浏览次数:12  
标签:框架 django 虚拟环境 Ubuntu pip 服务器 Django 安装

快速上手:Ubuntu上的 Django 框架安装与配置

引言

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

本指南将帮助你在Ubuntu 服务器上安装并运行Django。安装完成后,你将开始一个新项目,作为你网站的基石。

image.png

先决条件

要完成本教程,你需要:

需要一个已设置的Ubuntu服务器,具有非root用户,具有sudo权限,并启用了防火墙以阻止非必要的端口。

设置完成后,以的非root用户身份登录并进行第一步。

选择服务器提供商
为了本教程的演示,我将以一个具体的云服务提供商为例,展示如何进行操作。选择哪个提供商根据个人偏好和需求来决定。

以下步骤仅供参考,请根据实际需求选择配置。

购买云服务器
本示例中,我们选择了香港作为服务器区域。

点击 云产品云服务器立即购买

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411211020032.png

选择操作系统
在创建服务器实例时,选择 Ubuntu 作为操作系统。

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411211020498.png

连接到服务器
使用 X-shell 或偏好的 SSH 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411211021991.png

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411210947807.png

安装方法

根据你的需求和你想要如何配置你的开发环境,有多种安装Django的方法。这些方法各有优势,一种方法可能比其他方法更适合你的具体情况。

一些不同的方法包括:

  • 全局安装包:官方Ubuntu仓库包含Django包.
  • 在虚拟环境中使用pip安装:你可以使用venvvirtualenv等工具为你的项目创建一个自包含的环境。
  • 使用git安装开发版本:如果你想安装最新开发版本而不是稳定版本,你可以从Git仓库获取代码。

全局安装包

如果你想使用Ubuntu仓库安装Django,过程非常简单。

首先,使用apt更新你的本地包索引:

sudo apt update

接下来,检查你安装的Python版本。默认安装Python 3.10,你可以通过输入以下命令来验证:

python3 -V

你应该看到类似这样的输出:

Python 3.10.4

接下来,安装Django:

sudo apt install python3-django

你可以通过输入以下命令来测试安装是否成功:

django-admin --version
3.2.12

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

在虚拟环境中使用pip安装

在系统中安装Django最灵活的方式是在虚拟环境中安装。我们将向你展示如何在我们将要创建的虚拟环境中使用venv模块安装Django,venv模块是Python 3标准库的一部分。

首先,刷新本地包索引:

sudo apt update

接下来,从Ubuntu仓库安装pipvenv

sudo apt install python3-pip python3-venv

现在,每当你开始一个新项目时,你可以为它创建一个虚拟环境。首先创建并进入一个新的项目目录:

mkdir ~/newproject
cd ~/newproject

接下来,在项目目录中使用与你Python版本兼容的python命令创建一个虚拟环境。我们将我们的虚拟环境称为my_env,但你应该给它起一个描述性的名字:

python3 -m venv my_env

这将在你项目目录内安装独立的Python和pip版本到一个隔离的目录结构中。将创建一个以你选择的名字命名的目录,其中将包含你的包将被安装的文件层次结构。

要在隔离环境中安装包,你必须通过输入以下命令激活它:

source my_env/bin/activate

你的提示符应该反映出你现在处于你的虚拟环境中。它看起来应该像(my_env)username@hostname:~/newproject$

在你的新环境中,你可以使用pip安装Django。不管你的Python版本如何,在虚拟环境中pip应该只被称为pip

pip install django

你可以通过输入以下命令来验证安装:

django-admin --version
4.0.4

请注意,你看到的版本可能与这里显示的版本不同。

要离开你的虚拟环境,你需要从系统上的任何地方发出deactivate命令:

deactivate

你的提示符应该恢复到常规显示。当你想再次开始你的项目时,重新激活你的虚拟环境:

cd ~/newproject
source my_env/bin/activate

开发版本安装与Git

如果你需要Django的开发版本,你可以从它的Git仓库下载并安装Django。让我们在虚拟环境中完成这个操作。

首先,更新本地包索引:

sudo apt update

检查你安装的Python版本:

python3 -V
Python 3.10.4

接下来,从官方仓库安装pipvenv

sudo apt install python3-pip python3-venv

下一步是克隆Django仓库。在版本发布之间,这个仓库将拥有更更新的功能和bug修复,可能以牺牲稳定性为代价。你可以通过输入以下命令将仓库克隆到名为~/django-dev的目录中:

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

切换到这个目录:

cd ~/django-dev

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

python3 -m venv my_env

激活它:

source my_env/bin/activate

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

pip install -e ~/django-dev

你可以通过输入以下命令来验证安装是否成功:

django-admin --version
4.0.4.2

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

创建示例项目

安装Django后,你可以开始构建你的项目。我们将介绍如何在虚拟环境中创建项目并在开发服务器上测试它。

首先,为你的项目创建一个目录并进入它:

mkdir ~/django-test
cd ~/django-test

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

python3 -m venv my_env

激活环境:

source my_env/bin/activate

安装Django:

pip install django

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

  • 一个管理脚本manage.py,你可以用它来管理各种Django特定的任务。
  • 一个目录(与项目同名),其中包含实际的项目代码。

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

django-admin startproject djangoproject .

要迁移数据库(这个例子默认使用SQLite),让我们使用manage.pymigrate命令。迁移将你所做的Django模型更改应用到你的数据库模式中。

要迁移数据库,输入以下命令:

python manage.py migrate

最后,让我们创建一个管理员用户,以便你可以使用Django管理界面。使用createsuperuser命令来完成这个操作:

python manage.py createsuperuser

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

修改Django设置中的ALLOWED_HOSTS

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

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

nano ~/django-test/djangoproject/settings.py

在里面,找到ALLOWED_HOSTS指令。这定义了一个地址或域名列表,这些地址或域名可以用来连接Django实例。一个带有不在列表中的Host头的传入请求将引发异常。Django要求你设置这个以防止某种安全漏洞。

在方括号内,列出与你Django服务器相关的IP地址或域名。每个项目应该用引号列出,用逗号分隔。如果你想为整个域及其子域请求,就在条目的开头加上一个点:

ALLOWED_HOSTS = ['your_server_ip_or_domain', 'your_second_ip_or_domain', ...]

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

测试开发服务器

一旦你有了用户,你可以启动Django开发服务器来查看一个全新的Django项目是什么样子。你只能将这个用于开发目的。当你准备部署时,确保仔细遵循Django的部署指南。

在你尝试开发服务器之前,请确保你在防火墙中打开相应的端口。如果你按照初始服务器设置指南操作并使用UFW,你可以通过输入以下命令打开端口8000

sudo ufw allow 8000

启动开发服务器:

python manage.py runserver your_server_ip:8000

在你的Web浏览器中访问你服务器的IP地址,后面跟着:8000

http://your_server_ip:8000

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

http://your_server_ip:8000/admin/

这将带你到一个登录屏幕:

image.png

如果你输入刚刚创建的管理员用户名和密码,你将能够访问网站的主管理部分:

image.png

有关使用Django管理界面的更多信息,请参见“如何启用和连接Django管理界面”。

当你完成浏览默认网站后,可以通过在终端中输入CTRL-C来停止开发服务器。

你创建的Django项目为设计一个更完整的网站提供了结构基础。

结论

你现在应该已经在Ubuntu服务器上安装了Django,提供了创建强大Web应用程序所需的主要工具。

标签:框架,django,虚拟环境,Ubuntu,pip,服务器,Django,安装
From: https://blog.csdn.net/qq_57526628/article/details/144019525

相关文章

  • CritiCS:智能协作下的创意长篇故事生成框架 | EMNLP'24
    来源:晓飞的算法工程笔记公众号,转载请注明出处论文:CollectiveCriticsforCreativeStoryGeneration论文地址:https://arxiv.org/abs/2410.02428创新点提出了\({\ttCritiCS}\)的框架,旨在通过基于创造力标准的集体评议,创造性地增强故事计划和文本表现力。通过实......
  • python+Django+MySQL+echarts+bootstrap制作的教学质量评价系统,包括学生、老师、管理
    项目介绍该教学质量评价系统基于Python、Django、MySQL、ECharts和Bootstrap技术,旨在为学校或教育机构提供一个全面的教学质量评估平台。系统主要包括三种角色:学生、老师和管理员,每个角色有不同的功能权限。学生角色:学生可以通过该平台对所选课程进行评价,评价内容包括老师的......
  • 2024 CCF BDCI 小样本条件下的自然语言至图查询语言翻译大模型微调|Google T5预训练语
    代码详见https://gitee.com/wang-qiangsy/bdci目录一.赛题介绍1.赛题背景2.赛题任务二.关于GoogleT5预训练语言模型1.T5模型主要特点2.T5模型与赛题任务的适配性分析3.模型的优化三.解题思路1.数据准备2.数据处理3.模型训练4.模型评估四.代码实现1.配置类(Config)2.数据集类(Cyp......
  • flask框架二手房产交易平台(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于二手房产交易平台的研究,现有研究主要以综合性房产交易平台为主,专门针对框架二手房产交易平台的研究较少。在国内外的房产交易研究......
  • flask框架二手房销售租赁系统(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于房屋销售租赁系统的研究,现有研究主要以新房销售租赁相关系统为主,专门针对框架二手房销售租赁系统的研究较少。在国内外,房地产市场......
  • 解决整合Django与Jinja2兼容性的问题
    提问解决整合Django与Jinja2时遇到了一些兼容性问题。已经按照常规步骤在我的settings.py中配置了Jinja2作为模板引擎,同时保留了Django默认的模板设置。然而尝试同时使用Django和Jinja2时,系统报错提示我没有指定模板。如果我尝试移除Django的默认模板配置,错误信息变成了没......
  • ubuntu切换python默认版本
    1.检查当前Python版本首先,查看系统中已安装的Python版本:python--versionpython3--versionls/usr/bin/python*你应该会看到多个Python版本,如python2.x或python3.x。2.使用update-alternatives工具Ubuntu推荐使用update-alternatives来管理和切换默......
  • flask框架多用户博客管理系统的设计与实现(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于多用户博客管理系统的设计与实现这一课题,现有研究主要以单用户博客系统或通用的内容管理系统为主。专门针对多用户博客管理系统的......
  • flask框架儿童摄影服务(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于儿童摄影服务的研究,现有研究主要以摄影技术、摄影风格以及儿童摄影的艺术表现为主,专门针对儿童摄影服务从系统功能角度(如用户、员......
  • flask框架儿童手表管理系(毕设源码+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于儿童手表管理的研究,现有研究主要以儿童手表的功能开发和市场推广为主,如智能手表的定位、通话等功能的不断优化,以及各品牌在市场中......