Django入门教程:搭建你的第一个Python网站
大家好,我是你们的学长,一名211高校计算机专业的研究生。在研一的时候,我也曾对着命令行一脸懵,看着“Django”这个陌生单词不知所措。后来靠着一篇篇技术博客入门,逐渐爱上了后端开发。今天,我想把这份经验回馈给刚入门的你——用最清晰的思路、最简单的语言,带你亲手搭建人生第一个网站。这就是我写这篇教程的初衷:让“代码人生”从一个可运行的网页开始。
一、Django是什么?为什么值得学?
Django 是一个用 Python 编写的高级 Web 框架,它遵循“不要重复造轮子”(DRY)和“约定优于配置”的原则,能帮你快速构建安全、可维护的网站。
🌟 通俗理解:如果你要盖房子,Django 就是已经帮你打好地基、砌好墙、装好水电的“半成品毛坯房”。你只需要装修(写业务逻辑)就能入住!
适合人群:
- 完全零基础的小白
- 会点 Python 但没做过网站的同学
- 想快速做出 MVP(最小可行产品)的创业者
二、环境准备:5分钟搭好开发环境
步骤1:安装 Python(建议 3.8+)
去 python.org 下载最新版。安装时务必勾选“Add to PATH”!
验证安装:
python --version
# 应输出类似:Python 3.10.12
步骤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
✅ 避坑指南:不要全局安装 Django!每个项目都该有自己的虚拟环境。
三、核心概念:用生活比喻理解 Django 架构
Django 遵循 MTV 模式(Model-Template-View),它是 MVC 的变种:
| 组件 | 作用 | 生活比喻 |
|---|---|---|
| Model | 数据结构(对应数据库表) | 菜谱(规定菜怎么做) |
| Template | 页面模板(HTML + 动态内容) | 上菜的盘子(展示形式) |
| View | 处理请求并返回响应 | 厨师(根据订单做菜) |
💡 我当初学的时候,总搞不清 View 和 Template 的关系。记住:View 决定“做什么”,Template 决定“长什么样”。
四、实战:一步步创建你的第一个网站
我们将做一个极简的“欢迎页”网站,展示一句动态问候语。
第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,看到火箭图标就成功了!
⚠️ 注意:开发服务器仅用于本地测试,不要用于生产环境。
第3步:创建应用(App)
Django 项目由多个“应用”组成。比如一个博客网站可能有 blog、user、comment 等应用。
python manage.py startapp homepage
生成 homepage/ 目录,包含:
views.py:写处理逻辑models.py:定义数据模型apps.py:应用配置
第4步:注册应用
编辑 mysite/settings.py,在 INSTALLED_APPS 中添加:
INSTALLED_APPS = [
'django.contrib.admin',
# ... 其他默认项
'homepage', # ← 新增这行
]
第5步:编写视图(View)
编辑 homepage/views.py:
from django.http import HttpResponse
from datetime import datetime
def welcome(request):
current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
return HttpResponse(f"<h1>你好!现在时间是:{current_time}</h1>")
第6步:配置路由(URL)
先在 homepage 目录下创建 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('homepage.urls')), # ← 包含 homepage 的路由
]
第7步:运行并查看效果
重启服务器(如果之前开着):
python manage.py runserver
刷新浏览器,你会看到动态时间!🎉
五、新手常见问题解答(FAQ)
❓ Q1:为什么页面没有样式?全是文字?
A:因为我们直接返回了 HTML 字符串。后续可学习 Template(模板系统)来分离 HTML。
❓ Q2:每次改代码都要重启服务器吗?
A:不用!Django 开发服务器支持自动重载,保存代码后刷新浏览器即可。
❓ Q3:报错 “No module named ‘homepage’” 怎么办?
A:检查 settings.py 中是否正确添加了 'homepage' 到 INSTALLED_APPS。
❓ Q4:能用中文吗?
A:可以!在 settings.py 中设置:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
六、下一步学习建议:走向“综合”能力
恭喜你完成了第一个 Django 网站!但这只是起点。要真正掌握后端开发,建议按以下路径进阶:
| 阶段 | 学习内容 | 目标 |
|---|---|---|
| 基础巩固 | 模板(Template)、静态文件、表单处理 | 能做带样式的交互页面 |
| 数据持久化 | 模型(Model)、数据库迁移、Admin 后台 | 能存储和管理用户数据 |
| 用户系统 | 用户认证、登录/注册 | 实现权限控制 |
| API 开发 | DRF(Django REST Framework) | 为 App 或前端提供接口 |
| 部署上线 | Nginx + Gunicorn + PostgreSQL | 让全世界访问你的网站 |
🔑 关键思维:不要死记代码,要理解请求-响应流程和组件协作机制。Django 的魅力在于它的“约定”,一旦理解,开发效率飞升。
结语:你的“代码人生”从此开始
回想起我第一次看到 Hello World 在浏览器中显示的那一刻,那种成就感至今难忘。技术学习不是一蹴而就,但只要迈出第一步,你就已经超越了90%的人。
这篇教程虽短,却涵盖了 Django 最核心的启动流程。希望它能成为你“代码人生”的起点。记住:每一个复杂的系统,都是从一行 HttpResponse 开始的。
✨ 行动建议:现在就打开终端,跟着步骤敲一遍代码!遇到问题?评论区见,我会尽力解答。
祝你在编程路上越走越远,用代码改变世界!

评论 0