Django入门教程:搭建你的第一个Python网站

AI提示词工人
2025-06-23 16:30
阅读 708

开篇:简单介绍Django是什么,用来做什么

开篇:简单介绍Django是什么,用来做什么

在当今的互联网时代,我们每天都在使用各种网站和应用程序。你有没有想过,这些看似复杂的网页是怎么做出来的?其实,很多优秀的网站都是用一种叫做 框架(Framework) 的工具来开发的。而今天我们要介绍的主角——Django 就是这样一个强大的 Web 开发框架,它是由 Python 语言编写的,非常受开发者欢迎。

什么是 Django?

你可以把 Django 想象成一个“建房子”的工具包。想象你要盖一栋房子,如果从零开始一块砖一块砖地垒,那会非常慢。但如果你有一个现成的施工队、建筑模板、水电图纸,你会轻松很多。Django 就像是这个“施工工具包”,帮你快速搭建出一个完整的网站结构,不需要重复造轮子。

Django 是一个开源的 Web 框架,专门用于构建动态网站和网络应用。它内置了数据库管理、用户认证、页面路由等许多功能,可以让你更专注于业务逻辑,而不是基础设置。

Django 可以用来做什么?

Django 几乎可以做任何类型的网站开发。比如:

  • 博客系统
  • 电商网站
  • 内容管理系统(CMS)
  • 社交平台
  • 管理后台系统

它的优势在于“开箱即用”(即很多功能已经内置),非常适合中大型项目,同时也有大量文档和社区支持,新手也能很快上手。

在本篇文章中,我们将一步步带你用 Django 创建你的第一个网站。无论你是否接触过编程,只要你愿意动手尝试,都能顺利完成!

环境准备:安装必要的工具

环境准备:安装必要的工具

在正式学习 Django 之前,我们需要先准备好开发环境。对于初学者来说,这个过程可能会有点陌生,别担心,我会一步步引导你完成安装和配置。

安装 Python

Django 是基于 Python 的框架,所以我们首先要确保电脑上安装了 Python。目前最新的稳定版本是 Python 3.x,推荐使用 Python 3.8 或更高版本。

步骤如下:

  1. 打开浏览器,访问 https://www.python.org/downloads/
  2. 点击 “Download Python 3.x” 下载适合你操作系统的版本(Windows/macOS/Linux)
  3. 双击下载的安装文件运行安装程序
  4. 在安装界面中,请务必勾选 Add Python to PATH(Windows 用户),然后点击 Install Now
  5. 安装完成后,在命令行工具(Windows 用 CMD,macOS/Linux 用 Terminal)输入以下命令确认是否安装成功:
python --version

或者如果你发现 python 命令无法使用,也可以试试:

python3 --version

正常情况下应该能看到类似这样的输出:

Python 3.10.4

说明 Python 已经安装成功。


安装 Django

接下来,我们来安装 Django。这里我们会使用 Python 自带的包管理工具 pip 来安装 Django。

步骤如下:

  1. 打开命令行工具(Windows 使用 CMD,macOS/Linux 使用 Terminal)
  2. 输入以下命令来安装 Django 最新稳定版:
pip install django

等待片刻后,Django 就会下载并自动安装好。

  1. 验证一下是否安装成功,输入:
django-admin --version

你应该会看到类似这样的输出:

4.2.6

这表示 Django 已经安装完成啦!

📌 注意:有些操作系统可能默认将 pip 命令命名为 pip3,此时应使用:

pip3 install django

安装代码编辑器

虽然我们可以用记事本写 Python 代码,但那样效率很低。为了方便开发和调试,我们建议使用专业的代码编辑器。以下是两个比较适合初学者的代码编辑器推荐:

1. Visual Studio Code(简称 VS Code)

这是微软出品的一款免费且功能强大的编辑器,支持 Python 插件,非常适合写 Django 项目。

下载地址:
https://code.visualstudio.com/

安装完成后,打开 VS Code → 点击左侧最下方齿轮图标 → Extensions → 搜索 “Python” 并安装官方插件。

2. PyCharm(社区版)

PyCharm 是 JetBrains 推出的专业 Python IDE,社区版是免费的,非常适合 Django 开发。

下载地址:
https://www.jetbrains.com/pycharm/download/

这两个工具都很好用,任选其一即可。


配置虚拟环境(可选但推荐)

为了避免不同项目之间的依赖冲突,我们通常会为每个项目创建一个独立的环境,这就是所谓的“虚拟环境”。

创建虚拟环境步骤:

  1. 进入你想存放项目的文件夹,例如:
cd Desktop
mkdir myproject
cd myproject
  1. 创建虚拟环境:
python -m venv venv

这会在当前目录下创建一个名为 venv 的虚拟环境文件夹。

  1. 激活虚拟环境:
  • Windows 上执行:
venv\Scripts\activate

激活后命令行前面会出现 (venv) 表示已进入虚拟环境。

  • macOS / Linux 上执行:
source venv/bin/activate
  1. 然后在这个环境中安装 Django:
pip install django

这样我们就有了一个干净的开发环境,不会影响其他项目。


现在,所有准备工作都已经完成!让我们一起迎接 Django 的第一课吧!

核心概念:理解 Django 的关键组成部分

核心概念:理解 Django 的关键组成部分

Django 拥有清晰的结构和丰富的功能模块。即使你是第一次接触它,也不用担心,我们可以像搭积木一样,一步步认识它的核心组件。下面我来给你介绍几个最关键的模块以及它们的作用。

项目结构(Project Structure)

当你用 Django 创建一个网站时,最先生成的就是一个 项目(Project)。项目就像一个容器,包含了整个网站的所有内容和配置。一个项目可以包含多个应用(App)。

举个例子:假设你要做一个博客网站,那么整个项目就叫 blog_project,里面可以有“文章管理”、“用户注册”、“评论系统”等多个小功能模块,每一个都属于不同的 app。

常见的项目结构大致如下:

blog_project/
├── blog_project/        # 项目的主配置目录
│   ├── __init__.py      # 初始化文件
│   ├── settings.py      # 全局配置文件
│   ├── urls.py          # 路由配置
│   └── wsgi.py          # 服务器启动配置
└── manage.py            # 命令行管理工具

你可以把它想象成一本书的封面和目录,里面的内容则是具体的章节(也就是 apps)。


应用(App)

在 Django 中,“应用(App)”指的是一个功能模块。比如说,一个新闻网站可能包含文章发布(news_app)、用户账号(user_app)、广告展示(ad_app)等等。每一个 App 都是一个相对独立的小单元,可以根据需要单独开发、测试和部署。

要创建一个新的 App,我们只需要运行如下命令:

python manage.py startapp myapp

这条命令就会在项目中生成一个名为 myapp 的新应用文件夹,其中包括以下几个重要文件:

  • models.py:定义数据库结构(后面我们会详细讲)
  • views.py:处理网页请求,返回页面内容
  • urls.py:配置当前应用的 URL 路由
  • admin.py:与后台管理相关的配置

也就是说,每个 App 都拥有自己的数据模型、视图、路由和管理功能。这种模块化的设计让整个项目变得清晰、易于维护。


数据库(Database)

Django 默认使用 SQLite 数据库,这是一种轻量级的数据库,非常适合学习阶段使用。当然,你也可以换为 PostgreSQL、MySQL 等更强大的数据库。

数据库主要用于存储网站的数据,例如用户的资料、文章内容、留言信息等等。

在 Django 中,我们通过 models.py 文件来定义数据库表结构。例如:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField('date published')

这段代码的意思是:创建一个名叫 Article 的数据模型,表示一篇文章。它有三个字段:标题(title)、内容(content)和发布时间(pub_date)。Django 会根据这些定义,自动生成对应的数据库表格。是不是很方便?


路由(URL Routing)

路由就像是网站的“地图”。你输入网址,网站怎么知道该显示哪个页面?就是靠路由来告诉它。

Django 的路由配置是在 urls.py 文件里完成的。比如你可以这样写:

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello_view),
]

这段代码表示当用户访问 /hello/ 这个路径时,Django 会调用 views.hello_view 这个函数来生成页面内容。后面的章节我们会具体演示怎么编写和测试路由。


视图(View)

视图(View)是我们编写页面逻辑的地方。你可以把它理解为“页面处理器”。当用户访问某个 URL,Django 就会去调用相应的视图函数,并返回页面给用户。

视图函数一般写在 views.py 中。例如:

from django.http import HttpResponse

def hello_view(request):
    return HttpResponse("你好,世界!")

当你访问 /hello/ 页面时,就会看到页面显示:“你好,世界!”是不是很神奇?我们将在下一节实战部分中详细讲解视图的使用方法。


总结

为了让这些概念更清楚,我们来做个总结:

模块 功能描述
Project 整个网站的主结构,包含全局配置
App 功能模块,实现具体业务逻辑
Database 存储网站数据
URL Routing 映射网址和对应的视图
View 处理请求并返回响应

掌握了这些基本概念之后,你就对 Django 的整体架构有了初步的理解。接下来,我们就要动手实践了!

实战项目:用 Django 创建你的第一个网站

实战项目:用 Django 创建你的第一个网站

现在我们已经了解了 Django 的基本概念,接下来就开始动手创建你的第一个网站吧!我们将通过一个简单的“Hello World”网页来演示如何新建项目、添加 App、编写视图和路由,并最终在浏览器中看到结果。

第一步:创建项目

我们先从创建一个 Django 项目开始。打开命令行工具(CMD/Terminal),进入你希望存放项目的目录,比如桌面:

cd Desktop

然后使用 Django 提供的管理工具创建一个新项目:

django-admin startproject hello_project

这会创建一个名为 hello_project 的文件夹,里面包含了项目的基本结构。接下来我们进入这个项目文件夹:

cd hello_project

此时我们可以查看一下项目结构:

hello_project/
├── manage.py
└── hello_project/
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

这些文件的具体含义我们已经在前面介绍过了。下面我们开始创建 App。


第二步:创建 App

Django 鼓励将功能模块化,所以我们需要创建一个 App 来编写我们的“Hello World”页面。

在命令行中执行以下命令来创建一个名为 hello_app 的 App:

python manage.py startapp hello_app

这时你会发现项目目录中多了一个 hello_app 文件夹,里面的结构包括:

hello_app/
├── migrations/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py

我们需要把这个 App 注册到项目中才能使用它。打开 hello_project/settings.py 文件,在 INSTALLED_APPS 列表中添加 'hello_app'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello_app',  # 添加这一行
]

保存文件,这就完成了 App 的注册。


第三步:编写视图函数

接下来我们要创建一个视图函数,它负责处理网页请求并返回内容。打开 hello_app/views.py 文件,修改代码如下:

from django.http import HttpResponse

def hello_view(request):
    return HttpResponse("你好,世界!")

这里的 hello_view 是一个视图函数,它接收一个请求对象 request,然后返回一个包含文本“你好,世界!”的 HTTP 响应。


第四步:配置路由

下一步我们需要告诉 Django 当用户访问某个 URL 时,应该调用哪个视图。为此,我们要配置路由规则。

首先,在 hello_app 目录下创建一个新文件 urls.py,并添加以下内容:

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello_view),
]

这段代码的意思是:当用户访问 /hello/ 路径时,调用 hello_app.views.hello_view 函数处理请求。

接下来我们需要把这个 App 的路由添加到项目的总路由中。打开 hello_project/urls.py 文件,修改如下:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello_app.urls')),
]

我们使用 include()hello_app.urls 中的路由包含进来。这意味着根路径 '' 对应的请求都会被转发给 hello_app 处理。


第五步:启动开发服务器并访问页面

现在我们已经完成了所有代码的编写,可以启动 Django 自带的开发服务器来看看效果了。

在命令行中执行:

python manage.py runserver

你会看到如下输出:

Performing system checks...

System check identified no issues (0 silenced).
October 05, 2023 - 15:50:53
Django version 4.2.6, using settings 'hello_project.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

这表明服务器已经启动,正在监听本地 8000 端口。

打开浏览器,访问:

http://127.0.0.1:8000/hello/

你将会看到页面上显示:

你好,世界!

恭喜!你已经成功用 Django 创建了你的第一个网页!


项目完成情况总结

到目前为止,我们完成了以下工作:

  1. 使用 startproject 创建了一个新的 Django 项目
  2. 使用 startapp 创建了一个 App
  3. views.py 中编写了一个视图函数来返回页面内容
  4. urls.py 中配置了路由,使 URL 和视图函数关联起来
  5. 启动服务器并在浏览器中访问页面

这个项目虽小,但它展示了 Django 开发的基本流程。接下来你可以尝试拓展这个项目,例如在页面中添加 HTML 模板、链接更多页面等。

继续加油!你已经迈出了成为 Django 开发者的第一步!

常见问题解答

在初次学习 Django 的过程中,你可能会遇到一些常见问题。下面是几个最容易出现的问题及其解决方法,帮助你避免卡壳,顺利前进。

1. 为什么运行 runserver 时提示端口被占用?

问题表现:
当你执行 python manage.py runserver 时,可能会收到错误信息,例如:

Error: That port is already in use.

原因:
这是因为本地的 8000 端口已经被其他程序占用了。Django 默认使用 8000 端口作为开发服务器的监听端口。

解决方法:
你可以指定一个不同的端口号来运行服务器。例如:

python manage.py runserver 8080

然后在浏览器中访问:

http://127.0.0.1:8080/hello/

这样就可以绕开被占用的端口。

另外,如果你想查看哪些进程正在使用特定端口,可以在命令行中输入:

lsof -i :8000       # macOS/Linux
netstat -ano | findstr :8000   # Windows

找到 PID(进程编号),然后通过任务管理器结束相关进程。


2. 导入模块时报错:No module named ‘xxx’

问题表现:
当你运行程序或访问网页时,出现如下错误:

ModuleNotFoundError: No module named 'hello_app'

或者类似的提示说找不到某个模块。

原因:
这通常是由于当前 Python 解释器没有正确识别你的项目结构导致的。有时候是因为你没有激活虚拟环境,或者是项目结构不规范。

解决方法:

  1. 确认当前目录是否正确:
    确保你在项目根目录下运行命令。例如,在 hello_project 目录下执行:

    python manage.py runserver
    
  2. 检查是否激活了虚拟环境:
    如果你使用了虚拟环境(如 venv),请确保你已经激活它:

    source venv/bin/activate      # macOS/Linux
    venv\Scripts\activate         # Windows
    
  3. 确保 App 正确注册:
    检查 `settings

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝