Django 创建第一个项目:从零开始搭建你的第一个 Web 应用
你是否曾想过,自己也能做出一个像知乎、豆瓣那样的网站?其实,只要掌握一门后端框架,就能迈出这关键一步。今天,我们就来手把手带你完成 Django 创建第一个项目 的全过程。别担心,哪怕你是编程新手,也能轻松跟上节奏。
Django 是一个用 Python 编写的高级 Web 框架,它遵循“快速开发、干净设计”的理念,被誉为“电池自带”的框架——很多功能都内置好了,比如用户认证、数据库操作、管理后台等。想象一下,你不需要从零造轮子,而是站在巨人的肩膀上,直接搭建应用的骨架。
本教程将带你从环境准备开始,一步步完成项目的创建、配置、运行,最终看到一个简单的页面在浏览器中亮起。整个过程就像搭积木,每一步都清晰明了,你只需按顺序拼接即可。
安装 Python 与 Django 环境
在动手之前,我们需要确保开发环境准备就绪。Python 是 Django 的“母体”,没有它,一切无从谈起。目前推荐使用 Python 3.8 及以上版本,因为 Django 已全面支持现代 Python 特性。
打开终端(Windows 用户可用 CMD 或 PowerShell,Mac/Linux 用户用 Terminal),输入以下命令检查 Python 版本:
python --version
如果提示命令未找到,说明尚未安装 Python。你可以从 python.org 下载安装包,安装时记得勾选“Add Python to PATH”选项,这样就能在任意位置调用 python 命令。
安装完成后,我们来安装 Django。使用 pip(Python 的包管理工具)即可完成:
pip install django
这个命令会自动从官方仓库下载并安装最新版 Django。安装过程可能需要几十秒,取决于你的网络速度。安装成功后,验证一下版本:
django-admin --version
如果输出类似 4.2.7 的版本号,说明环境已配置成功。至此,你已经为 Django 创建第一个项目 做好了准备。
💡 小贴士:建议使用虚拟环境(virtual environment)隔离项目依赖。这样多个项目之间不会互相干扰。创建虚拟环境的命令如下:
python -m venv myproject_env激活环境:
- Windows:
myproject_env\Scripts\activate- Mac/Linux:
source myproject_env/bin/activate激活后,再运行
pip install django,依赖将只存在于当前环境。
创建第一个 Django 项目
现在,我们正式进入 Django 创建第一个项目 的核心环节。Django 提供了一个名为 django-admin 的命令行工具,用于快速生成项目结构。
在你希望存放项目的目录下,运行以下命令:
django-admin startproject mysite
这里的 mysite 是你的项目名称,你可以替换成自己喜欢的名字,比如 blog_project 或 todo_app。这个命令会创建一个包含多个文件和文件夹的项目根目录。
项目结构大致如下:
mysite/
├── manage.py # 项目管理脚本,所有操作都通过它执行
├── mysite/
│ ├── __init__.py
│ ├── settings.py # 项目配置文件,数据库、静态资源、中间件等都在这里
│ ├── urls.py # 路由配置,决定 URL 如何映射到视图
│ └── wsgi.py # 用于部署时与 WSGI 服务器通信
└── db.sqlite3 # 默认的 SQLite 数据库文件(开发用)
📌 说明:
manage.py是 Django 的“万能钥匙”。无论是启动服务器、创建应用、执行数据库迁移,都离不开它。
创建第一个应用(App)
Django 项目由多个“应用”(App)组成。每个 App 负责一个特定功能,比如用户登录、文章发布、评论系统。这就像一个城市里的不同社区:学校、医院、商场各自独立,又共同构成完整城市。
我们来创建一个名为 blog 的应用,用于发布文章:
cd mysite
python manage.py startapp blog
执行后,会在 mysite/ 目录下新增一个 blog 文件夹,结构如下:
blog/
├── __init__.py
├── admin.py # 后台管理界面注册点
├── apps.py # 应用配置
├── models.py # 数据库模型定义
├── views.py # 视图函数(处理请求)
├── urls.py # 应用级路由
└── templates/ # 存放 HTML 模板文件
🎯 重点:每个 App 都应该有清晰的职责。不要把所有逻辑都写在一个文件里,保持模块化,未来维护更轻松。
配置项目与应用
为了让 Django 知道你新增了 blog 应用,必须在主配置文件中注册它。
打开 mysite/settings.py 文件,在 INSTALLED_APPS 列表中添加 'blog':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog', # 添加这一行,注册 blog 应用
]
✅ 注意:
'blog'必须写在引号内,且不能有拼写错误。Django 会根据字符串名称查找对应的应用目录。
编写视图与路由
现在我们来实现一个最简单的功能:访问 /hello/ 时,显示“欢迎来到 Django 世界!”。
步骤 1:定义视图函数
打开 blog/views.py,添加如下代码:
from django.http import HttpResponse
def hello_view(request):
# request 参数代表用户的请求对象,包含 URL、请求方法等信息
# HttpResponse 用于返回 HTTP 响应内容
return HttpResponse("欢迎来到 Django 世界!")
这个函数就是一个“视图”,它接收请求,返回响应。你可以把它理解为“服务员”:客人(请求)来了,服务员(视图)端上一道菜(响应)。
步骤 2:配置 URL 路由
接下来,我们需要告诉 Django:当用户访问 /hello/ 时,该调用 hello_view 函数。
在 blog/urls.py 中写入:
from django.urls import path
from . import views
urlpatterns = [
path('hello/', views.hello_view, name='hello'),
]
path()定义一个 URL 模式'hello/'是路径,用户访问http://127.0.0.1:8000/hello/就会匹配views.hello_view指向视图函数name='hello'是一个别名,方便在模板中引用
步骤 3:连接主路由
最后,我们需要把 blog 应用的路由“挂载”到主项目中。
打开 mysite/urls.py,修改内容如下:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')), # 将 blog 的路由包含进来
]
🔗 解释:
include('blog.urls')表示当用户访问根路径(/)时,Django 会去blog/urls.py中寻找匹配的路径。
启动开发服务器并查看效果
所有配置完成后,我们终于可以运行项目了!
在项目根目录(mysite)执行:
python manage.py runserver
控制台会输出:
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
打开浏览器,访问 http://127.0.0.1:8000/hello/,你应该能看到页面上显示:
欢迎来到 Django 世界!
🎉 成功了!你已经完成了 Django 创建第一个项目 的全流程,从环境搭建到功能展示,每一步都亲历亲为。
项目结构与开发规范建议
为了帮助你养成良好的开发习惯,这里列出几个关键点:
| 文件/目录 | 用途说明 |
|---|---|
manage.py |
项目操作入口,所有命令都通过它执行 |
settings.py |
项目核心配置,包括数据库、安全密钥、静态文件路径等 |
urls.py |
路由控制中心,决定 URL 如何分发到视图 |
views.py |
业务逻辑处理,接收请求,返回响应 |
models.py |
数据库模型定义,决定数据结构 |
templates/ |
存放 HTML 模板文件,用于渲染页面 |
📝 提示:建议在
settings.py中设置DEBUG = True用于开发,但上线前务必设为False,以防止信息泄露。
总结与下一步建议
通过本教程,你已经完成了 Django 创建第一个项目 的完整流程。从环境准备、项目生成、应用创建,到视图与路由配置,再到服务器启动,整个过程清晰、可复现。
虽然目前只是一个简单的“Hello World”页面,但它为你打开了通往 Web 开发的大门。接下来,你可以尝试:
- 在
models.py中定义文章模型(如标题、内容、发布时间) - 使用 Django 的 ORM 操作数据库
- 创建模板文件,用 HTML 渲染页面
- 添加后台管理功能,通过
/admin管理数据
Django 的强大之处,正是在于它把复杂的事情变得简单。只要你愿意一步步来,每一个复杂的网站,都是从一个 hello_view 开始的。
别停下脚步,下一个你,或许就是下一个全栈开发者。