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

灰度发布员
2025-12-18 04:07
阅读 645

大家好!我是一名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(应用)。比如一个电商网站,可能有 shopuserorder 三个 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 保护,别关掉!)

六、下一步学习建议

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

  1. 深入学习 Model 和数据库
    尝试创建一个“留言板”App,用 models.py 定义留言内容,用 Admin 后台管理数据。

  2. 使用 Template 渲染 HTML
    HttpResponse 替换成 render(request, 'index.html'),学习模板语法。

  3. 阅读优质资源

    • 官方文档:永远是最权威的
    • 书籍:《Django for Beginners》《Two Scoops of Django》
    • 视频:B站有很多 Django 入门系列(注意看发布时间,别学太老的版本)
  4. 对比其他技术栈
    如果你听说过 Java + Spring Boot,可以思考:

    • Python 写 Django 更简洁,适合快速迭代;
    • Java 生态更适合大型分布式系统;
    • 作为初学者,先精通一个方向,再横向扩展。
  5. 考虑“运营”视角
    当你的网站做好后,怎么让用户访问?你需要:

    • 购买域名和服务器(如阿里云、腾讯云)
    • 配置 Nginx 反向代理
    • 设置 HTTPS(用 Let's Encrypt 免费证书)
    • 监控日志和性能

🌱 我的建议:不要试图一口吃成胖子。先做出一个能跑的小功能,再逐步扩展。我当初就是从一个“待办事项列表”开始,慢慢学会了用户系统、API 接口、部署上线……


结语

Django 的口号是:“Don’t repeat yourself”(不要重复自己)。它用最少的代码,帮你完成最多的工作。希望这篇教程能成为你 Web 开发之路的起点。

记住:每一个大神,都曾是小白。遇到问题别慌,查文档、搜错误信息、问社区,都是成长的一部分。

如果你觉得这篇文章对你有帮助,欢迎收藏、转发,或者在我的博客评论区留言交流!下期我们来讲《用 Django 实现用户注册与登录》。

祝你编码愉快,早日做出属于自己的网站!💻✨

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝