Django入门教程:搭建你的第一个Python网站
大家好!我是一名211高校计算机专业的研究生,平时喜欢写技术博客,帮助刚入门的学弟学妹们少走弯路。今天我想和大家聊聊 Django —— 一个用 Python 编写的强大 Web 框架。
我当初学 Web 开发时,一开始被各种术语(比如“后端”、“路由”、“数据库模型”)搞得晕头转向。后来接触了 Django,才发现原来搭建一个网站可以这么简单!它内置了很多功能,让你不用从零造轮子,特别适合初学者快速上手。
这篇文章不会讲高深的理论,而是带你 一步步动手做一个最简单的网站。即使你完全没碰过编程,只要跟着操作,也能在本地跑起来自己的第一个网页!
📌 关键词提示:本文会自然融入“资源”、“书籍”、“Java”、“运营”等关键词,帮助你在学习中建立更全面的认知。
一、Django 是什么?能用来做什么?
Django 是一个用 Python 编写的开源 Web 框架。你可以把它理解成一个“工具箱”——它帮你处理了网站开发中那些重复又繁琐的部分(比如用户登录、数据存储、URL 路由等),让你专注实现业务逻辑。
举个例子:
- 如果你要做一个博客网站,Django 可以帮你快速生成文章列表页、详情页;
- 如果你要做一个后台管理系统,Django 自带的 Admin 后台 几乎开箱即用;
- 甚至很多公司用 Django 做 内部运营系统,比如订单管理、用户数据分析平台等。
💡 小知识:虽然 Java 在企业级开发中很流行(比如 Spring Boot),但 Python + Django 在快速原型开发、中小型项目、科研项目中优势明显——代码少、上手快、社区活跃。
二、环境准备:5 分钟搭好开发环境
1. 安装 Python
Django 基于 Python,所以第一步是安装 Python 3.8+(推荐 3.9 或 3.10)。
- Windows 用户:去 python.org 下载安装包,记得勾选 “Add to PATH”。
- macOS 用户:可以用 Homebrew:
brew install python - Linux 用户:一般自带,用
python3 --version检查版本。
2. 创建虚拟环境(强烈推荐!)
虚拟环境能隔离项目依赖,避免不同项目之间的包冲突。
# 创建虚拟环境(名字叫 mysite_env)
python -m venv mysite_env
# 激活虚拟环境
# Windows:
mysite_env\Scripts\activate
# macOS / Linux:
source mysite_env/bin/activate
激活后,命令行前面会出现 (mysite_env),说明你已经在虚拟环境中了。
3. 安装 Django
在虚拟环境中执行:
pip install django
验证是否安装成功:
django-admin --version
# 输出类似 4.2.7,说明成功!
✅ 安全提示:永远不要用
sudo pip安装包!使用虚拟环境既能保护系统安全,也方便管理依赖。
三、核心概念:用大白话解释 Django 的“骨架”
Django 遵循 MVT 模式(Model-View-Template),你可以这样理解:
| 组件 | 作用 | 类比 |
|---|---|---|
| Model | 定义数据结构(比如“用户”、“文章”) | 数据库的“设计图纸” |
| View | 处理请求逻辑(比如“显示首页”) | 网站的“大脑” |
| Template | 网页的 HTML 模板 | 网站的“脸面” |
另外两个重要概念:
- URLconf:把网址(如
/about/)映射到对应的 View 函数。 - Project vs App:一个 Project(项目)可以包含多个 App(应用)。比如一个电商网站,可能有
shop、user、order三个 App。
📘 推荐资源:官方文档是最好的入门书籍!Django 官方教程 写得非常清晰。如果你喜欢纸质书,《Django for Beginners》是英文入门神书,中文版也有。
四、实战:创建你的第一个 Django 网站
我们来做一个极简的“欢迎页面”,展示“Hello, Django!”。
步骤 1:创建项目
django-admin startproject mysite
cd mysite
目录结构如下:
mysite/
manage.py # 管理脚本(比如运行服务器、数据库迁移)
mysite/ # 项目配置文件夹
__init__.py
settings.py # 全局配置(数据库、时区、App 列表等)
urls.py # 主 URL 路由
asgi.py
wsgi.py
步骤 2:启动开发服务器
python manage.py runserver
打开浏览器,访问 http://127.0.0.1:8000,你会看到 Django 的火箭图标!🎉
⚠️ 注意:这个服务器仅用于开发,不能用于生产(也就是不能直接上线给用户用)。后面做“运营”部署时要用 Nginx + Gunicorn 等方案。
步骤 3:创建一个 App
我们的网站需要一个 App 来处理首页逻辑:
python manage.py startapp home
现在目录多了一个 home/ 文件夹。
步骤 4:注册 App
打开 mysite/settings.py,找到 INSTALLED_APPS,添加 'home':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... 其他默认项
'home', # ← 加这一行
]
步骤 5:编写 View(视图)
编辑 home/views.py:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django! 这是我的第一个网站!")
步骤 6:配置 URL 路由
先在 home/ 目录下创建 urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
然后修改主项目的 mysite/urls.py,引入 home 的路由:
from django.contrib import admin
from django.urls import path, include # ← 注意导入 include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('home.urls')), # ← 所有根路径请求交给 home 处理
]
步骤 7:重新运行服务器
python manage.py runserver
刷新浏览器,现在你应该看到:
Hello, Django! 这是我的第一个网站!
恭喜!你已经完成了第一个 Django 网站!
五、新手常见问题 & 解决方案
| 问题 | 原因 | 解决方法 |
|---|---|---|
ModuleNotFoundError: No module named 'django' |
没激活虚拟环境 | 先 source mysite_env/bin/activate(或 Windows 对应命令) |
| 页面显示 404 | URL 配置错误 | 检查 urls.py 是否正确 include,路径是否匹配 |
| 修改代码后页面没更新 | 开发服务器未自动重载 | 确保用 runserver 启动(它默认开启自动重载) |
| 中文乱码 | 编码问题 | 在 .py 文件开头加 # -*- coding: utf-8 -*-(Python 3 通常不需要) |
🔒 安全意识提醒:
- 永远不要把
settings.py里的SECRET_KEY提交到 GitHub!- 开发时关闭
DEBUG = True(部署时必须设为False)- 不要直接信任用户输入(Django 默认有 CSRF 保护,别关掉!)
六、下一步学习建议
你已经迈出了第一步!接下来可以:
深入学习 Model 和数据库
尝试创建一个“留言板”App,用models.py定义留言内容,用 Admin 后台管理数据。使用 Template 渲染 HTML
把HttpResponse替换成render(request, 'index.html'),学习模板语法。阅读优质资源
- 官方文档:永远是最权威的
- 书籍:《Django for Beginners》《Two Scoops of Django》
- 视频:B站有很多 Django 入门系列(注意看发布时间,别学太老的版本)
对比其他技术栈
如果你听说过 Java + Spring Boot,可以思考:- Python 写 Django 更简洁,适合快速迭代;
- Java 生态更适合大型分布式系统;
- 作为初学者,先精通一个方向,再横向扩展。
考虑“运营”视角
当你的网站做好后,怎么让用户访问?你需要:- 购买域名和服务器(如阿里云、腾讯云)
- 配置 Nginx 反向代理
- 设置 HTTPS(用 Let's Encrypt 免费证书)
- 监控日志和性能
🌱 我的建议:不要试图一口吃成胖子。先做出一个能跑的小功能,再逐步扩展。我当初就是从一个“待办事项列表”开始,慢慢学会了用户系统、API 接口、部署上线……
结语
Django 的口号是:“Don’t repeat yourself”(不要重复自己)。它用最少的代码,帮你完成最多的工作。希望这篇教程能成为你 Web 开发之路的起点。
记住:每一个大神,都曾是小白。遇到问题别慌,查文档、搜错误信息、问社区,都是成长的一部分。
如果你觉得这篇文章对你有帮助,欢迎收藏、转发,或者在我的博客评论区留言交流!下期我们来讲《用 Django 实现用户注册与登录》。
祝你编码愉快,早日做出属于自己的网站!💻✨

评论 0