本文主要介绍 Django 及其他必备软件的安装与配置, 并创建了简单的 Project 和 App.

点击查看索引

本系列是根据 Vitor Freitas 的Django教程整理而来,如有疑问可参考 原文

安装

我们一共需要安装 4 个主要软件:

  • Python
  • Virtualenv
  • Django
  • IDE(推荐VSCode)

Python

Django 是基于 Python 的一个网络框架,所以其运行需要 Python 环境。
Python 官网下载并安装最新版本的 Python。

下载页面

安装过程中要注意 把 Python 添加到 PATH 中
之后打开 CMD ,输入:

python --version

看到:

Python 3.10.2

即代表Pyhon安装成功。

Virtualenv

作为一个复合型高端人才 (指什么都会什么都不精) ,我们的系统中可能需要安装 不同版本 的 Pyhon ,或者为了解决 Python 中 不同项目所需的模块 出现冲突,需要不同的 环境 ,此时就需要使用 Pyhon 的 虚拟环境 了。
Virtualenv 是一个轻量级的 Python 虚拟环境管理器,也可以选择 Miniconda ,如果是对于 科学计算和大数据 也有需求的话, Anaconda 是你的最佳选择。
对于这部分,网络上已经有很多教程,本人使用的也是 Anaconda,所以不再赘述。

Django

创建并激活虚拟环境后,我们就需要安装Django了。
在 Terminal 输入:

pip install django

如果是 conda 类环境的话,也可以输入:

conda install django

最后一行出现 “Successfully installed django-xxxxxxxx” 即代表安装成功。

IDE

VSCode官网 下载安装包安装即可。

创建第一个 Project

在 Terminal 中输入:

django-admin startproject myproject

就会建立一个新的 Project。 其中结构为:

  • myproject/
    • manage.py
    • myproject/
      • __init__.py
      • settings.py
      • urls.py
      • wsgi.py

manage.py 是用于控制 Project 的命令集成文件。
__init__.py 表示此文件夹是一个 Python package
settings.py 顾名思义是 Project 的配置文件。
urls.py 是负责 Project 的结构的文件。
wsgi.py 用于部署的简单网关接口。
在 Terminal 中输入:

python manage.py runserver

即可启动网站的本地服务器,启动后打开网址 http://127.0.0.1:8000 即可看到一个简单的欢迎界面。此时说明你的第一个 Project 正在完全正常地运行。

运行成功

在 Terminal 按下 Ctrl+C 即可关闭服务器。

创建一个 Django Apps

在 Django 中有两个重要的内容,一个是 Project ,另一个是 App

  • app : 一个实现某功能的 Web 应用程序。一个 App 通常由一组 models (模型)、 views (视图)、 template (模板)、 test (测试) 组成。
  • Project :是 configuration (配置)app 的集合。一个 project 可以由多个 app 组成,也可以由一个 app 组成。

注意: app 是无法离开 project 而运行的!

manage.py 存在的目录中,在 Terminal 中输入:

django-admin startapp boards

即可创建一个名为 boards 的 app,这样我们的文件结构就变成了:

  • myproject/
    • manage.py
    • myproject/
      • __init__.py
      • settings.py
      • urls.py
      • wsgi.py
    • boards/ <– here!
      • migrations/
        • __init__.py
      • __init__.py
      • admin.py
      • apps.py
      • models.py
      • tests.py
      • views.py

migrations/ :存储一些文件来跟踪在 models.py 文件中的更改,从而保持数据库和 models.py 同步。
admin.py :这是一个名为 Django Admin 的内置 Django app 的配置文件。
apps.py :该 app 本身的配置文件。
models.py:在此处定义 app 的 实体 , models 会被 Django 自动翻译为数据库表。
tests.py :为 app 编写测试的地方。
views.py :处理 app request/response circle 的地方。

启用 app

settings.py 中找到:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

向其中添加:'boards'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'boards',
]

Hello World!

打开 boards 中的 views.py ,添加以下代码:

from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello, World!')

views 接收 HttpRequest object,返回一个 HttpResponse object,其中 request 是函数的一个 parameter 。这里我们就定义了一个名为 home 的 view,它的作用是输出 “Hello World!”
接下来我们设置 何时 Django 会提供此 view,这是需要在 urls.py 中进行操作:

from django.contrib import admin
from django.urls import path

from boards import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.home, name='home'),
]

其中添加了 path('', views.home, name='home') 并导入了其需要的包。
path 函数中第一个 parameter 为该页面 url 的相对路径,此处设置为 '' 代表 http://127.0.0.1:8000 即为该页面的 url,如果设置为: path('homepage', views.home, name='home') ,那么 url 就会变成 http://127.0.0.1:8000/homepage/
在 Terminal 中运行:

python manage.py runserver

打开我们的网址,即可看到:

Hello World!