Django入门教程:搭建你的第一个Python网站
大家好,我是一名开源项目维护者,也长期参与后端开发与教学。很多初学者向我反馈,想用 Python 快速上手 Web 开发,但面对众多框架无从下手。Django 正是这样一个“开箱即用”的选择——它安全、高效、功能全面。我当初学的时候,也是从一行 django-admin startproject 开始的。今天这篇教程,就带你用最安全、最规范的方式,搭建你的第一个 Python 网站。
关键词提醒:本文将围绕 Python(编程语言)、综合(Django 是一个全栈框架)、以及简要提及 爬虫(虽非本教程重点,但会说明其与 Web 开发的关系)展开。
一、Django 是什么?能用来做什么?
Django 是一个用 Python 编写的高级 Web 框架。它的设计哲学是“不要重复造轮子”(DRY),内置了用户认证、数据库管理、URL 路由、模板引擎等模块,让你专注业务逻辑。
- ✅ 适合构建博客、电商、后台管理系统等综合型网站
- ❌ 不适合做实时聊天或高频交易系统(这类场景更适合 FastAPI 或异步框架)
- 🔒 安全优先:Django 默认防范 CSRF、XSS、SQL 注入等常见 Web 攻击
📌 小知识:虽然 Python 也常用于写爬虫(如用 requests + BeautifulSoup),但 Django 是服务端框架,用于“提供网页”,而不是“抓取网页”。两者方向不同,但可结合使用(例如用爬虫采集数据,再用 Django 展示)。
二、环境准备:5 分钟搭好开发环境
步骤 1:安装 Python
确保你已安装 Python 3.8+(推荐 3.10 或 3.11)。在终端运行:
python --version
# 或
python3 --version
步骤 2:创建虚拟环境(重要!)
虚拟环境能隔离项目依赖,避免版本冲突。
# 创建
python -m venv mysite_env
# 激活(Windows)
mysite_env\Scripts\activate
# 激活(macOS/Linux)
source mysite_env/bin/activate
步骤 3:安装 Django
pip install django
验证安装:
django-admin --version
# 输出类似:4.2.7
💡 避坑指南:不要用
sudo pip安装!务必在虚拟环境中操作,这是保障系统安全和项目稳定的第一步。
三、核心概念:用大白话讲清楚
Django 遵循 MTV 模式(Model-Template-View),相当于其他框架的 MVC:
| 组件 | 作用说明 |
|---|---|
| Model | 定义数据结构(如“文章”、“用户”),自动映射到数据库 |
| Template | 网页的 HTML 模板,支持动态内容插入 |
| View | 处理请求逻辑,决定返回哪个页面或数据 |
简单流程:
用户访问 /hello → URL 路由找到对应 View → View 读取 Model(如有)→ 渲染 Template → 返回 HTML 给浏览器
四、实战项目:创建一个“欢迎页面”
我们将一步步创建一个显示“Hello, Django!”的网站。
第 1 步:创建项目
django-admin startproject mysite
cd mysite
生成目录结构:
mysite/
manage.py # 命令行工具
mysite/
__init__.py
settings.py # 配置文件(含数据库、安全选项等)
urls.py # 主路由文件
asgi.py
wsgi.py
第 2 步:启动开发服务器
python manage.py runserver
打开浏览器访问 http://127.0.0.1:8000,看到火箭图标即成功!
⚠️ 安全提示:
runserver仅用于开发!生产环境必须用 Nginx + Gunicorn 等部署方案。
第 3 步:创建一个应用(App)
Django 项目由多个“应用”组成(如用户系统、博客模块)。
python manage.py startapp hello
第 4 步:注册应用
编辑 mysite/settings.py,在 INSTALLED_APPS 中添加 'hello':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
# ... 其他默认项
'hello', # ← 新增这行
]
第 5 步:编写视图(View)
编辑 hello/views.py:
from django.http import HttpResponse
def welcome(request):
return HttpResponse("Hello, Django! 欢迎你!")
第 6 步:配置 URL 路由
- 在
hello/目录下新建urls.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.welcome, name='welcome'),
]
- 修改主路由
mysite/urls.py:
from django.contrib import admin
from django.urls import path, include # ← 导入 include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('hello.urls')), # ← 包含 hello 应用的路由
]
第 7 步:重新运行服务器
python manage.py runserver
刷新页面,你会看到:Hello, Django! 欢迎你!
五、常见问题解答(FAQ)
Q1:为什么访问页面出现 404?
- 检查
urls.py是否正确包含子路由 - 确保
startapp后在settings.py中注册了应用
Q2:中文显示乱码?
Django 默认使用 UTF-8,但需确保:
- 文件保存为 UTF-8 编码
- 浏览器未强制指定其他编码
Q3:如何连接数据库?
Django 默认使用 SQLite(轻量级文件数据库),适合开发。生产环境建议 PostgreSQL 或 MySQL。只需修改 settings.py 中的 DATABASES 配置即可。
Q4:这和爬虫有什么关系?
- 爬虫是从别人网站获取数据(输出:数据)
- Django是提供网页服务(输出:HTML/API)
- 你可以用爬虫抓取新闻,存入 Django 的数据库,再通过网站展示——这是典型结合场景
🔐 安全强调:若未来用 Django 接收用户输入(如表单),务必使用 Django 的表单验证和 ORM 查询,切勿拼接 SQL 字符串!
六、学习建议与下一步
恭喜你完成了第一个 Django 网站!但这只是开始。我建议按以下路径深入:
短期目标(1~2周)
- 学习 Django 模型(Model):创建数据表,用
makemigrations和migrate同步数据库 - 掌握 模板系统:用
{% for %}、{{ variable }}渲染动态内容 - 实践 Django Admin:自动生成后台管理界面
中期目标(1个月)
- 实现用户注册/登录(用内置
auth模块) - 添加 Bootstrap 美化前端
- 学习 REST API 开发(配合 Django REST Framework)
长期融合
- 将 爬虫项目(如定时抓取天气数据)与 Django 结合,做成可视化仪表盘
- 学习部署:用 Docker + Nginx + Gunicorn 上线你的网站
🧠 我的经验:我当初学 Django 时,总想一步到位做复杂功能,结果卡在配置上。建议从小功能做起——先让页面显示文字,再加数据库,再加样式。稳扎稳打,才能构建安全可靠的系统。
结语
Django 是 Python 生态中最成熟、最安全的 Web 框架之一。它不仅适合快速原型开发,也能支撑高流量生产系统(如 Instagram、Mozilla)。通过本教程,你已掌握了最基础的项目结构和请求响应流程。
记住:安全不是附加功能,而是开发习惯。从第一天起,就使用 Django 提供的安全机制,避免手写危险代码。
现在,去修改你的 views.py,把“Hello”换成你的名字吧!你的 Web 开发之旅,正式启程。

评论 0