Python Django 是一个 Web 框架,可以快速创建高效的网页。Django 也被称为包含电池的框架,因为它提供了内置功能,例如 Django 管理界面、默认数据库 – SQLite3 等。当您构建网站时,您总是需要一组类似的组件:一种处理用户身份验证的方法(注册、登录、注销)、网站管理面板、表单、上传文件的方式等。Django 为您提供了现成的组件可供使用。
为什么选择 Django 框架?
- 优秀的文档和高可扩展性。
- 被顶级跨国公司和公司使用,例如
Instagram、Disqus、Spotify、Youtube、Bitbucket、Dropbox
等,而且这个列表永无止境。 - 最容易学习的框架,快速开发,并且完全包含电池。
Django
是一个快速 Web 开发框架,可用于在短时间内开发功能齐全的 Web 应用程序。 - 学习 Django 的最后一个但并非最不重要的原因是
Python
,Python
拥有庞大的库和功能,例如网页抓取、机器学习、图像处理、科学计算等。人们可以将所有这些与 Web 应用程序集成并执行大量高级操作东西。
Django 架构
Django 基于MVT(模型-视图-模板)架构,它有以下三个部分 -
- 模型: 模型将充当数据的接口。它负责维护数据。它是整个应用程序背后的逻辑数据结构,由数据库(一般是关系型数据库如
MySql
、Postgres
)来表示。 - 视图:视图是您渲染网站时在浏览器中看到的用户界面。它由
HTML/CSS/Javascript
和Jinja
文件表示。 - 模板:模板由所需
HTML
输出的静态部分以及一些描述如何插入动态内容的特殊语法组成。要查看更多信息,请访问 –Django
模板
设置虚拟环境
大多数时候,当您处理某些 Django 项目时,您会发现每个项目可能需要不同版本的 Django。当您在全局或默认环境中安装 Django 时,可能会出现此问题。为了解决这个问题,我们将在 Python 中使用虚拟环境。这使我们能够在一台计算机上创建多个不同的 Django
环境。要创建虚拟环境,请在终端中键入以下命令。
python3 -m venv ./名称
这里的名称暗示了虚拟环境的名称。让我们创建名为 venv 的虚拟环境。所以创建它的命令是 –
代码语言:javascript复制python3 -m venv ./venv
运行上述命令后,您将看到一个名为 venv 的文件夹,其中包含以下子目录。
创建虚拟环境后,让我们激活它。要激活它,请在终端中键入以下命令。
代码语言:javascript复制source ./venv/bin/activate
上面的命令中./用来告诉当前的工作目录。
注意:如果您在另一个位置设置了虚拟环境,并且在另一个位置打开了终端,则提供 venv 文件夹的位置,即我们的虚拟环境文件夹。
运行上述命令后,您应该在终端的每一行的开头看到 (venv),如下图所示。
安装Django
我们可以使用 pip 命令安装 Django。要安装此类型,请在终端中输入以下命令。
代码语言:javascript复制pip install Django
启动项目
- 要在您的 PC 上启动 Django 项目,请打开终端并输入以下命令
django-admin startproject projectName
- 将创建一个名为projectName 的新文件夹。使用终端输入命令进入项目
cd projectName
- 现在让我们运行服务器并查看一切是否正常工作。要运行服务器,请在终端中键入以下命令。
python .py runserver
运行服务器后,访问 http://127.0.0.1:8000/,你会看到类似这样的内容 –
项目结构
Django项目在初始化时默认包含manage.py、view.py等基本文件。简单的项目结构足以创建一个单页应用程序。以下是主要文件及其说明。在 geeks_site 文件夹(项目文件夹)内将有以下文件 -
让我们详细讨论这些文件 –
manage.py:该文件用于通过命令行与您的项目交互(启动服务器、同步数据库等)。要获取可以通过 manage.py 执行的命令的完整列表,请在命令窗口中键入以下代码 -
代码语言:javascript复制python manage.py help
_init_.py
:它是一个python包。当导入包或包中的模块时会调用它。我们通常用它来执行包初始化代码,例如包级数据的初始化。settings.py
:顾名思义,它包含所有网站设置。在此文件中,我们注册我们创建的任何应用程序、静态文件的位置、数据库配置详细信息等。urls.py
:在这个文件中,我们存储了项目的所有链接和要调用的函数。wsgi.py
:该文件用于在 WSGI 中部署项目。它用于帮助您的Django
应用程序与网络服务器进行通信。
创建应用程序
Django 以其独特且完全托管的应用程序结构而闻名。对于每个功能,都可以像完全独立的模块一样创建应用程序。例如,如果您要创建博客,则应为评论、帖子、登录/注销等创建单独的模块。在 Django 中,这些模块称为应用程序。每个任务都有一个不同的应用程序。使用 Django 应用程序的好处 –
- Django 应用程序是可重用的,即一个 Django 应用程序可以用于多个项目。
- 我们有松散耦合的即几乎独立的组件
- 多个开发人员可以处理不同的组件
- 调试和代码组织很容易。Django 有一个优秀的调试器工具。
- 它具有管理页面等内置功能,这减少了从头开始构建相同功能的工作量
Django 为用户提供了一些预装的应用程序。要查看预安装的应用程序,请导航至项目名称 –> 项目名称 –> settings.py。在您的 settings.py
文件中,您将找到 INSTALLED_APPS。INSTALLED_APPS 中列出的应用程序由 Django
提供,以方便开发人员使用。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
我们还可以创建自己的自定义应用程序。要在 Django 项目中创建基本应用程序,您需要转到包含 manage.py 的目录,然后从那里输入命令:
代码语言:javascript复制python manage.py startapp 项目应用程序
现在让我们创建一个名为 gfg_site_app 的应用程序,因此创建该应用程序的命令是 –
代码语言:javascript复制python manage.py startapp gfg_site_app
现在您可以看到您的目录结构如下:
要考虑项目中的应用程序,您需要在 INSTALLED_APPS 列表中指定项目名称,如下所示:
代码语言:javascript复制INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'gfg_site_app.apps.GfgSiteAppConfig',
]
Django视图
视图函数是一个 Python 函数,它接受 Web 请求并返回 Web 响应。该响应可以是网页的 HTML 内容、重定向、404 错误、XML 文档、图像、Web 浏览器可以显示的任何内容。Django 视图是用户界面的一部分 - 它们通常将模板文件中的 HTML/CSS/Javascript 渲染为渲染网页时在浏览器中看到的内容。