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

北风里的开发者
2025-06-29 08:28
阅读 727

欢迎来到Django的奇妙世界!如果你是零基础的编程小白,不要担心,本篇教程将从头开始,带你一步步完成一个完整的网站项目。我们将使用Python语言 + Django框架来实现。整个过程通俗易懂、图文并茂,并且每一步都有实际代码示例。

准备好了吗?我们马上出发!


一、开篇:什么是Django?它能用来做什么?

简单解释一下:

Django 是一个用 Python 编写的开源 Web 框架(Framework),专门用于快速开发动态网站和后端服务。

你可以把它想象成一个“积木盒子”,里面已经有盖房子需要的各种组件:墙砖、门、窗户、楼梯……你只需要把它们组合起来就能快速建起一座房子。

Django官网截图

Django的三大特点:

  1. 高效开发:提供很多现成的功能(如用户登录、后台管理等)
  2. 安全性强:自动帮你防范常见的网络安全漏洞
  3. 可扩展性高:从小型博客到大型企业级应用都适用

使用场景举例:

  • 博客系统
  • 内容管理系统(CMS)
  • 在线商城
  • 数据展示平台
  • 企业内部管理系统

二、环境准备:安装Django和基本工具

在这一步,我们会准备好你需要的所有工具:

所需软件清单:

工具 作用
Python 编程语言,Django基于Python
pip Python 的包管理工具
Django Web 框架本身
文本编辑器(推荐 VS Code) 写代码的工具
浏览器(Chrome/Firefox) 查看网站效果

✅ 步骤 1:安装 Python

请前往官网:https://www.python.org/downloads/
下载对应系统的 Python 安装包(建议选择 Python 3.x 版本)

Windows 用户注意: 安装时一定要勾选“Add to PATH”这个选项!

安装完成后,在命令行输入以下命令验证是否安装成功:

python --version

或者 Mac/Linux 用户:

python3 --version

你会看到输出类似:

Python 3.10.4

✅ 成功!


✅ 步骤 2:安装 Django

在命令行中输入:

pip install django

等待几分钟(根据网速而定),然后输入:

django-admin --version

如果输出版本号,说明安装成功!


✅ 步骤 3:安装 VS Code(或者其他你喜欢的编辑器)

推荐下载免费的 VS Code,支持 Windows、Mac 和 Linux。

安装完成后,打开它,稍后我们会用它写代码。


三、核心概念讲解:理解Django的基本结构

Django 有一些重要概念,我们先简单了解,后面会结合项目深入讲解。

🧱 1. MVC 架构 & MTV 模式

  • MVC(Model-View-Controller)是一种软件架构模式。
  • Django 使用的是 MTV 模式,是 MVC 的变种:
    • M (Model):数据模型,负责与数据库交互
    • T (Template):模板,决定页面怎么显示
    • V (View):视图,处理逻辑(类似控制器)

别怕这些术语,我们后面会通过实例讲明白。


📁 2. Django项目的文件结构

一个典型的Django项目目录如下:

myproject/
├── myproject/
│   ├── __init__.py
│   ├── settings.py     # 项目的配置文件
│   ├── urls.py         # 路由配置(相当于网站的地图)
│   └── wsgi.py         # 启动服务器用的配置
├── manage.py           # 命令行工具,启动项目就靠它啦

🔗 3. URL、View、Template之间的关系

我们可以打个比方:

  • 当你在浏览器输入网址(比如 http://localhost:8000/home)——这叫 URL
  • Django 根据这个网址找到对应的 View(也就是一段 Python 函数或类)
  • View 处理逻辑之后,返回一个 Template 文件(HTML 页面)
  • 最终,浏览器上显示的就是这个 HTML 页面

这就像点外卖的过程:

用户(浏览器) → 点菜(URL) → 后厨做菜(View) → 上菜(Template)


💾 4. 什么是 Model?

Model 就是我们网站的数据结构,比如:

  • 用户信息表
  • 文章列表
  • 商品库存

Django 提供了 ORM(对象关系映射)功能,让我们可以用 Python 来操作数据库,而不需要写 SQL。


四、实战项目:跟着我做一个最简单的个人博客网站

现在是时候实践一把了!我们将制作一个叫做 "Hello Blog" 的极简博客网站。

🎯 功能需求:

  • 显示主页
  • 主页上有几篇测试文章标题
  • 点击某个标题可以跳转到详情页面

步骤 1:创建项目

在命令行中执行:

django-admin startproject hello_blog

就会生成一个叫 hello_blog 的项目文件夹。

进入该目录:

cd hello_blog

运行服务器试试看:

python manage.py runserver

浏览器中打开地址:http://127.0.0.1:8000/
你会看到 Django 的欢迎页面:

Django 欢迎页

✅ 搭建成功!


步骤 2:创建我们的第一个 App —— blog

在 Django 中,App 是一个独立的功能模块,比如 blog 是一个内容模块,auth 是用户模块。

执行命令:

python manage.py startapp blog

此时你会发现项目目录中多了一个名为 blog 的文件夹。

但要让 Django 知道有这个 app,必须手动注册它。

打开 hello_blog/settings.py 文件,在 INSTALLED_APPS 列表中添加:

'blog.apps.BlogConfig',

✅ 完成注册!


步骤 3:定义网页路径(URL 配置)

我们要让访问 / 地址时显示首页。

首先,修改 blog/views.py 文件:

from django.http import HttpResponse

def home(request):
    return HttpResponse("这是博客首页")

然后,配置 URL:

blog 文件夹下创建一个新文件:urls.py,内容如下:

from django.urls import path
from . import views

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

接下来,把这个 app 的 URL 包括进主项目中:

打开 hello_blog/urls.py 文件,改写为:

from django.urls import include, path

urlpatterns = [
    path('', include('blog.urls')),
]

现在再运行服务器:

python manage.py runserver

访问 http://127.0.0.1:8000/,你应该能看到:

这是博客首页

🎉 恭喜!你现在有一个真正的网页了!


步骤 4:使用模板渲染 HTML 页面

目前只是返回纯文本,我们要让它显示一个漂亮的页面。

blog 目录下创建文件夹:

templates/blog/

然后新建一个 HTML 文件:blog/templates/blog/home.html,内容如下:

<!DOCTYPE html>
<html>
<head>
    <title>Hello Blog</title>
</head>
<body>
    <h1>欢迎来到我的博客</h1>
    <p>这里是一些文章的标题:</p>
    <ul>
        <li><a href="#">第一篇文章</a></li>
        <li><a href="#">第二篇文章</a></li>
        <li><a href="#">第三篇文章</a></li>
    </ul>
</body>
</html>

然后修改 views.py

from django.shortcuts import render

def home(request):
    return render(request, 'blog/home.html')

刷新页面,你现在应该可以看到一个 HTML 页面啦!


步骤 5:添加文章详情页

我们来加一个点击某篇文章后的详情页面。

首先新增一个视图函数:

def article_detail(request, article_id):
    return render(request, 'blog/article.html', {'id': article_id})

再写一个 HTML 文件 blog/templates/blog/article.html

<!DOCTYPE html>
<html>
<head>
    <title>文章 {{ id }}</title>
</head>
<body>
    <h1>第 {{ id }} 篇文章内容</h1>
    <p>这里是详细的内容……</p>
</body>
</html>

接着更新 URL 配置文件 blog/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
    path('article/<int:article_id>/', views.article_detail, name='article_detail'),
]

这时候你可以尝试访问:

http://127.0.0.1:8000/article/1/

你会看到内容为:“第 1 篇文章内容”


✅ 总结我们现在的项目结构:

hello_blog/
├── blog/
│   ├── templates/
│   │   └── blog/
│   │       ├── home.html
│   │       └── article.html
│   ├── views.py
│   └── urls.py
└── manage.py

五、常见问题解答(Q&A)

❓Q1:为什么运行 runserver 报错说找不到模块?

可能是虚拟环境没有激活,或者 pip 安装的依赖不在当前环境中。

解决办法:

  1. 确保已正确安装 Django
  2. 使用 pip list 检查是否列出 django
  3. 如果用了虚拟环境,记得先激活

❓Q2:为什么修改了 HTML 内容刷新没变化?

有可能浏览器缓存导致了这个问题。

解决办法: 按住 Ctrl 键的同时点击刷新按钮,或使用隐身模式查看页面。


❓Q3:遇到错误 “No module named ‘blog’”

这是因为你没有正确注册 app。

检查点:

  • 是否在 settings.pyINSTALLED_APPS 中添加 'blog.apps.BlogConfig'

六、学习建议:下一步该学什么?

恭喜你完成了第一个完整的 Django 项目!

接下来可以继续学习这些内容:

  1. 数据库建模(Model):用 Django 定义数据结构(如文章、评论等)
  2. 使用数据库查询数据
  3. Admin 后台管理界面:自己就能操作文章增删改查
  4. Form 表单提交:让用户可以发布内容
  5. 静态文件(CSS/JS)管理
  6. 部署上线:如何把自己的网站放到网上去运行

结语

这篇教程带大家从零开始,一步一步创建了一个简单的 Django 网站。虽然只是一个入门案例,但它已经包含了 Django 的主要组成部分:路由、视图、模板和结构布局

编程最有趣的地方在于“创造”。只要你坚持下去,很快就能做出像样的产品!

如果你觉得这篇文章对你有用,请点个赞、转发给其他正在学习的朋友,也欢迎留言告诉我你想继续了解哪些知识点,我们一起进步!

🚀 下期见!

评论 0

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