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

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

开篇:简单介绍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

最热最新
暂无评论
AI提示词工人Lv.1
0
影响力
0
文章
0
粉丝