在本教程中,我们将学习Django项目和Django应用之间的区别,以及如何启动一个新的Django项目。
Django是构建Web应用的Python Web框架的首选。它是一个成熟的、功能齐全的、灵活的、开源的框架,可以让你建立任何东西,从简单的CRUD应用到更复杂的、多应用的项目,如照片分享应用。
要求
你不需要以前的知识来建立一个Django项目。但Django是一个Python框架,所以要使用它,你应该有强大的Python基础。
在开始之前,确保你有一个安装有Python 3.6或更高版本的终端或命令提示符。
大多数macOS和Linux系统都默认安装了Python 3,但如果你使用Windows,你需要下载并安装Python。你可以按照Python官方网站的指南来做。
你可以通过打开你的操作系统的应用程序查找器并搜索终端,或者在Windows上搜索cmd来打开终端。
一旦你建立了一个终端,就该确认你的Python版本了。要做到这一点,输入下面的命令。
python --version
Python 3.9.7 # My result
如果你没有得到Python 3.x这样的结果,不要惊慌。有两个选项。
-
如果
python --version返回的是 Python 2.x 的版本,你就需要在本教程中使用python3。这种情况通常发生在一些 macOS 系统,以及一些Linux 发行版,如 Ubuntu。试着运行下面的命令。python3 --version Python 3.9.7 # Again, my result -
如果你得到了
Unknown command的错误,试图运行python3,但仍然得到了另一个错误,你需要从官方网站下载并安装 Python。
现在你知道在终端运行什么Python命令了,让我们深入了解一下Django项目。
什么是Django项目?
Django项目是一个Python包,需要它来实现一个网络应用程序的运行。它包含了构建网站后台(服务器端开发,用户看不到的部分)所需的一切。Django项目的正常功能决定了你如何与数据库互动、认证、如何检索数据等等。
你也可以把它看成是一个设置的集合,以及命名为app的小型Python模块。我们将在后面讨论它们,但作为一个预先的概念,一个应用程序是另一组Python文件,解决你的应用程序的一个特定任务。
通过这篇文章,你将了解到Django项目的复杂结构。但从一开始我就想让你知道,一个Django项目可以缩小到一个文件,类似于Flask项目的情况。
Minimal Django项目就是一个快速的示范。这是一个有23行代码的文件,它允许我们把一个Django "Hello, World!"项目变成现实。
import sys
from django.conf import settings
from django.urls import path
from django.core.management import execute_from_command_line
from django.http import HttpResponse
settings.configure(
DEBUG=True,
ROOT_URLCONF=sys.modules[__name__],
)
def index(request):
return HttpResponse('<h1>A minimal Django response!</h1>')
urlpatterns = [
path(r'', index),
]
if __name__ == '__main__':
execute_from_command_line(sys.argv)
现在,一个Django项目可以走得更远。一个很好的例子是Instagram,它有成千上万的Django端点,并且仍然使用这个框架来实现关键功能。
如何建立一个Django项目
如果下面的一些命令看起来很复杂,请不要太担心。在你创建了几个项目之后,你会对它们了如指掌。
首先,你需要知道,Django是一个外部包。换句话说,它并不内置在Python中,所以你需要用PIP来安装它。
PIP是一个Python的软件包管理器,这个工具允许你从Python软件包索引(PyPI)中安装Python软件包。
现在,在安装实际的 Python 包之前,你需要创建一个虚拟环境。为你构建的每个Django项目创建一个虚拟环境是一个很好的做法,这样你就可以跟踪依赖性。
也许你在Django 2.6项目中的代码可能无法在Django 3.0中运行。一个虚拟环境可以让你对你的每个项目都有特定的要求。
你可以用以下命令创建一个名为.venv (或任何你想要的名字)的虚拟环境。
python -m venv .venv
现在,如果你列出当前目录下的文件,你会看到一个名为.venv 的新文件夹,它同时包含了孤立的 Python 二进制文件。
$ ls -lah .venv/
Permissions Size User Date Modified Name
drwxr-xr-x - daniel 10 nov 23:13 .
drwxr-xr-x - daniel 10 nov 23:13 ..
drwxr-xr-x - daniel 10 nov 23:13 bin
drwxr-xr-x - daniel 10 nov 23:13 include
drwxr-xr-x - daniel 10 nov 23:13 lib
lrwxrwxrwx 3 daniel 10 nov 23:13 lib64 -> lib
.rw-r--r-- 69 daniel 10 nov 23:13 pyvenv.cfg
要激活你的虚拟环境,你需要用下面的命令来激活它。
source .venv/bin/activate
这只在bash shells上起作用(在macOS和Linux上可用)。如果你使用不同的shell,你可以看一下下面的激活venv 表。
| 平台 | 外壳 | 激活虚拟环境的命令 |
|---|---|---|
| POSIX | bash/zsh | $ source .venv>/bin/activate |
| 鱼 | $ source .venv>/bin/activate.fish | |
| csh/tcsh | $ source .venv>/bin/activate.csh | |
| PowerShell核心 | $ .venv/bin/Activate.ps1 | |
| Windows | cmd.exe | C:\> .venv\Scripts\activate.bat |
| PowerShell | PS C:\> .venv\Scripts\Activate.ps1 |
检查你的shell是否被激活的方法是通过寻找你的提示符的变化。在我的例子中,我看到的是下图。
现在,安装Django软件包。你可以安装最新的或特定版本的Django。
pip install django # Latest version
pip install django==2.2 # Specific version