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

Commit写错了
2025-12-19 11:34
阅读 2222

大家好,我是小林,一名211高校计算机专业的研究生。平时除了做科研,我还特别喜欢写技术博客,帮助刚入门的学弟学妹们少走弯路。今天这篇教程,就是源于我当初第一次接触Web开发时的困惑——面对一堆框架、术语和配置,完全不知道从哪下手。

我当初学的时候,花了整整一周才跑通一个“Hello World”网页,还被各种环境问题搞得焦头烂额。所以今天,我想用最简单、最安全的方式,带你一步步搭建属于你的第一个Python网站。全程手把手,零基础也能跟上!

为什么选择Django?
Django 是一个用 Python 编写的高级 Web 框架,它“自带电池”(batteries-included),意味着很多功能(比如用户登录、后台管理)都帮你写好了。相比 Java 的 Spring Boot 或 Go 的 Gin 等框架,Django 对新手更友好,代码量少,学习曲线平缓。


一、Django 是什么?能做什么?

简单来说,Django 是一个帮你快速构建网站的工具箱。你可以用它做:

  • 个人博客
  • 电商网站
  • 后台管理系统
  • API 接口服务

📌 对比一下其他语言的主流框架:

语言 主流 Web 框架 特点
Python Django, Flask Django 功能全,适合快速开发;Flask 更轻量
Java Spring Boot 企业级强大,但配置复杂,学习成本高
Go Gin, Echo 性能极高,并发强,但生态不如 Python 成熟

如果你是零基础,又想快速做出一个能用的网站,Django 是最佳起点。


二、环境准备:5分钟搞定开发环境

⚠️ 安全提示:不要直接在系统全局安装 Python 包!建议使用虚拟环境,避免污染系统环境。

步骤1:安装 Python(3.7+)

  • Windows / macOS:去 python.org 下载安装
  • Linux:通常已预装,运行 python3 --version 检查版本

确保安装时勾选 “Add to PATH”(Windows)。

步骤2:创建虚拟环境(强烈推荐!)

打开终端(命令提示符 / Terminal),执行:

# 创建项目文件夹
mkdir mysite
cd mysite

# 创建虚拟环境(Python 3.3+ 内置 venv)
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate

激活后,命令行前会显示 (venv),说明你已进入安全沙箱。

步骤3:安装 Django

在虚拟环境中运行:

pip install django

验证是否安装成功:

django-admin --version
# 输出类似:4.2.7

✅ 恭喜!你的开发环境已准备就绪。


三、核心概念:用大白话解释 Django

Django 遵循 MVT 模式(Model-View-Template),你可以理解为:

组件 作用 类比
Model 数据结构(如用户、文章) 数据库的“设计图纸”
View 处理请求并返回响应 网站的“大脑”,决定显示什么
Template 网页的 HTML 文件 网站的“皮肤”,负责长什么样

💡 我当初混淆了 View 和 Template,以为 View 是页面。其实 View 是 Python 函数,Template 才是 HTML!


四、实战:搭建你的第一个网站

我们将做一个最简单的“欢迎页面”网站,只需 5 步。

第1步:创建 Django 项目

在激活的虚拟环境中运行:

django-admin startproject mysite .

注意末尾有个 .,表示在当前目录创建项目(避免多一层文件夹)。

你会看到以下结构:

mysite/
├── manage.py
├── mysite/
│   ├── __init__.py
│   ├── settings.py    # 配置文件
│   ├── urls.py        # 网站路由总入口
│   └── wsgi.py

第2步:启动开发服务器

python manage.py runserver

看到 Starting development server at http://127.0.0.1:8000/ 就成功了!

🔒 安全提醒:runserver 仅用于开发!绝对不要在生产环境使用它。

打开浏览器访问 http://127.0.0.1:8000,你会看到火箭图标 —— 这是 Django 的欢迎页!

第3步:创建一个应用(App)

Django 项目由多个“应用”组成(比如用户系统、博客系统)。我们创建一个叫 home 的应用:

python manage.py startapp home

目录结构新增:

home/
├── migrations/
├── __init__.py
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py   # ← 我们要改这里!

第4步:编写视图(View)

编辑 home/views.py:

from django.http import HttpResponse

def welcome(request):
    return HttpResponse("你好,世界!这是我的第一个Django网站!")

这个函数接收一个 request(用户请求),返回一个 HttpResponse(网页内容)。

第5步:配置 URL 路由

现在需要告诉 Django:当用户访问首页时,调用 welcome 函数。

第一步:在 home 目录下新建 urls.py:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.welcome, name='welcome'),
]

第二步:修改项目根目录的 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')),  # ← 添加这一行
]

第6步:注册应用(重要!)

Django 不会自动识别新应用,需手动注册。

打开 mysite/settings.py,找到 INSTALLED_APPS,添加 'home':

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home',  # ← 添加在这里
]

第7步:重启服务器,查看效果

按 Ctrl+C 停止服务器,重新运行:

python manage.py runserver

刷新浏览器,你应该看到:

你好,世界!这是我的第一个Django网站!

🎉 恭喜!你已经成功搭建了第一个 Django 网站!


五、常见问题解答(FAQ)

Q1:为什么访问不了 8000 端口?

  • 检查是否运行了 runserver
  • Windows 防火墙可能拦截,临时关闭测试
  • 如果提示端口被占用,换端口:python manage.py runserver 8080

Q2:修改代码后页面没更新?

Django 开发服务器默认自动重载,但有时会失效。尝试:

  • 保存文件后手动刷新浏览器
  • 重启 runserver

Q3:出现 “ModuleNotFoundError”?

  • 确保你激活了虚拟环境
  • 确保在项目根目录运行命令(有 manage.py 的目录)

Q4:和 Java/Go 比,Django 性能差吗?

Django 是同步框架,单机性能确实不如 Go 的 Gin。但对新手项目(日活 < 1万),性能完全够用。而且 Django 开发速度快,能让你专注业务逻辑。等你熟悉后,再根据需求选择 Java(高稳定)或 Go(高并发)也不迟。


六、下一步学习建议

你已经迈出了关键一步!接下来可以:

  1. 学习模板系统:把 HTML 写到 .html 文件里,而不是硬编码在 Python 中
  2. 尝试 Model:用 models.py 定义数据,自动生成数据库表
  3. 使用 Django Admin:几行代码获得一个功能完整的后台管理系统
  4. 部署上线:用免费平台(如 Railway、Render)把网站发布到互联网

💡 避坑指南:

  • 不要一开始就学“REST API”或“Docker”,先掌握基础 MVC
  • 不要照搬网上过时的教程(Django 1.x 和 4.x 差别很大)
  • 遇到报错,仔细读错误信息,90% 的问题都能从中找到线索

结语

写这篇教程,是因为我希望你不用像我当初那样,在环境配置上浪费太多时间。Django 是一个充满善意的框架,它希望你专注于创造,而不是折腾工具。

记住:每个大神,都曾卡在“Hello World”。你现在迈出的这一步,未来回头看,就是你程序员生涯的起点。

如果你成功跑通了教程,不妨在评论区留言:“我的第一个Django网站上线啦!” —— 我会为你开心!

继续加油,未来的全栈工程师!🚀

评论 0

最热最新
暂无评论
Commit写错了Lv.1
0
影响力
0
文章
0
粉丝