快速启动一个Django项目和一个Django应用程序的详细教程

480 阅读4分钟

How to Quickly Start a Django Project and a Django App

在本教程中,我们将学习Django项目和Django应用之间的区别,以及如何启动一个新的Django项目。

Django是构建Web应用的Python Web框架的首选。它是一个成熟的、功能齐全的、灵活的、开源的框架,可以让你建立任何东西,从简单的CRUD应用到更复杂的、多应用的项目,如照片分享应用

要求

你不需要以前的知识来建立一个Django项目。但Django是一个Python框架,所以要使用它,你应该有强大的Python基础。

在开始之前,确保你有一个安装有Python 3.6或更高版本的终端或命令提示符。

大多数macOS和Linux系统都默认安装了Python 3,但如果你使用Windows,你需要下载并安装Python。你可以按照Python官方网站的指南来做。

你可以通过打开你的操作系统的应用程序查找器并搜索终端,或者在Windows上搜索cmd来打开终端。

Open a terminal with application finder

一旦你建立了一个终端,就该确认你的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 表。

平台外壳激活虚拟环境的命令
POSIXbash/zsh$ source .venv>/bin/activate
$ source .venv>/bin/activate.fish
csh/tcsh$ source .venv>/bin/activate.csh
PowerShell核心$ .venv/bin/Activate.ps1
Windowscmd.exeC:\> .venv\Scripts\activate.bat
PowerShellPS C:\> .venv\Scripts\Activate.ps1

检查你的shell是否被激活的方法是通过寻找你的提示符的变化。在我的例子中,我看到的是下图。

Virtual Environment Prompt

现在,安装Django软件包。你可以安装最新的或特定版本的Django。

pip install django # Latest version
pip install django==2.2 # Specific version

继续阅读如何SitePoint快速启动一个Django项目和一个Django应用程序