认识 Django
Django是一个高级Python Web框架,它鼓励快速开发和简洁、实用的设计。它由经验丰富的开发人员构建,解决了Web开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费和开源的。
Django官网地址:The web framework for perfectionists with deadlines | Django。
安装 Django
Django 需要 Python,我们要了解每个 Django 版本配合使用的 Python 版本(版本对应如下表格所示)。
Django版本 | Python 版本 |
3.2 | 3.6、3.7、3.8、3.9、3.10(3.2.9中添加) |
4.0 | 3.8、3.9、3.10 |
4.1 | 3.8、3.9、3.10、3.11(4.1.3中添加) |
4.2 | 3.8、3.9、3.10、3.11、3.12(4.2.8中添加) |
5.0 | 3.10、3.11、3.12 |
5.1 | 3.10、3.11、3.12 |
我们在安装Django时,需要根据电脑上所安装的Python版本进行选择。使用命令:python –version,可以查看所安装的Python版本,再根据Python版本选择Django版本。一般选择Python所支持的较新的Django版本。
安装Django还是建议使用pip安装,毕竟这是一种简单的安装方式。安装命令:
pip install Django==<版本>
这里以我的电脑为例进行安装示例。我的电脑Python版本是3.12.0,支持的Django表格中最新的版本5.1,但是目前我们还不能安装该版本,因为该版本目前还没有放出。下图是我从官网上截取的,可以看到5.1版本的时间是2024年下半年之后的事情了。目前Django的最新版本是5.0.1,所以这里我安装此版本。
安装示例如下图所示。
创建Django项目
我们使用django-admin命令来生成Django项目,首先进入要存储代码的目录,然后执行以下命令:
# django-admin startproject <名称>
django-admin startproject mysite
这将在您的当前目录中创建一个指定名称的目录,示例命令中创建的目录名称是mysite。
让我们看一下 startproject 创建了什么:
mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.py
这些文件是:
- 外部的 mysite/ 是项目的根目录。它叫什么名字和Django没有关系,你可以对它重命名为你喜欢的任何名字。
- manage.py:一个命令行实用程序,可以让您以各种方式与此Django项目交互。
- 内部 mysite/ 目录是项目的实际 Python 包。它的名称是您需要用来导入其中任何内容的 Python 包名称(例如mysite.urls)。
- mysite/__init__.py:一个空文件,告诉 Python 该目录应该被视为 Python 包。
- mysite/settings.py:此 Django 项目的设置/配置。
- mysite/urls.py:该 Django 项目的 URL 声明;Django 驱动的网站“目录”。
- mysite/asgi.py:与 ASGI 兼容的 Web 服务器的入口点,为您的项目提供服务。
- mysite/wsgi.py:与 WSGI 兼容的 Web 服务器的入口点,为您的项目提供服务。
现在让我们验证一下 Django 项目是否有效。在 mysite 目录中运行一下命令:
python manage.py runserver
运行该命令后,可以在命令行看到如下图的输出。这证明我们已经启动了 Django 开发服务器,这是一个纯粹用 Python 编写的轻量级 Web 服务器。Django已将其包含其中,以便我们可以快速开发内容,而无需配置生产服务器,知道我们准备好上服务器为止。
需要说明的是:不要在任何类似于生产环境的地方使用此方式,它仅供开发使用。
现在服务器已经运行,我们可以使用 Web 浏览器访问 http://127.0.0.1:8000/,您将会看到如下图所示页面。
默认情况下,runserver 命令在内部IP的端口8000上启动开发服务器。如果要更改服务器的端口,我们需要在命令行上加上端口的参数。例如,下面命令在端口8080上启动服务器:
# python manage.py runserver [端口号]
python manage.py runserver 8080
如果要更改服务器的IP,请将其与端口一起加到命令行参数上。例如,要监听所有可用的公共IP,命名如下:
# python manage.py runserver [IP]:[端口号]
python manage.py runserver 0.0.0.0:8000
开发服务器根据需要会自动为每个请求重新加载 Python 代码。我们无需重新启动服务器即可使代码更改生效。但是,某些操作(例如添加文件)不会触发重新启动,因此在这些情况下我们必须重新启动服务器。
欢迎关注我的公众号