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

Linux夜行者
2025-06-24 09:09
阅读 603

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

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

在今天的互联网世界中,网站和应用程序几乎无处不在。无论是淘宝、微博还是微信公众号后台,背后都离不开“后端”技术的支持。而 Django 就是一个用于构建后端网站的强大工具。

你可以把 Django 看作是为 Python 准备的一个“建站神器”。它帮助你快速地搭建功能完善的网站原型,比如博客系统、在线商店、管理系统等。有了 Django,你不需要从头开始写每一个功能模块,因为它已经帮你准备好了很多常用功能的组件。

简单来说,Django 是一个基于 Python 的 Web 框架(Web Framework),它让我们能够用 Python 编程语言来开发动态网页应用。


环境准备:搭建开发环境

环境准备:搭建开发环境

在开始使用 Django 前,我们需要先准备好开发环境。下面是一步步的安装指南:

1. 安装 Python

Django 是基于 Python 的框架,所以首先要确保你的电脑上安装了 Python。

安装时记得勾选 “Add to PATH” 选项(Windows系统),这样可以方便后续操作。

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

python --version

你应该会看到类似这样的输出:

Python 3.9.5

2. 创建虚拟环境(Virtual Environment)

为了防止项目之间依赖冲突,我们一般会给每个项目配置一个独立的开发环境。我们可以使用 venv 来创建虚拟环境。

执行命令:

python -m venv env

这个命令会在当前目录下创建一个叫 env 的文件夹,这就是我们的虚拟环境。

激活虚拟环境(根据操作系统不同):

  • Windows:
    env\Scripts\activate.bat
    
  • Mac/Linux:
    source env/bin/activate
    

激活成功后,终端前会出现 (env) 字样,表示我们现在正在这个环境中工作。

3. 安装 Django

现在我们来安装 Django:

pip install django

安装完成后,查看版本确认安装成功:

django-admin --version

输出示例如下:

4.2.6

✅ 小提示:如果你看到版本号,说明 Django 已经安装成功!


核心概念:Django 的几个关键角色

核心概念:Django 的几个关键角色

Django 有很多术语听起来很专业,但其实它们就像搭积木一样分工明确,我们一一来通俗解释。

🧩 1. 项目 Project 和 应用 App

  • Project(项目):相当于整个网站的总容器,包含所有设置、数据库配置、URL路由等。
  • App(应用):是项目中的一个个功能模块。比如一个网站可能有“用户管理”、“文章发布”、“评论系统”等多个 app。

一个项目里可以包含多个 app,它们可以分别处理不同的功能。

举个生活例子:

就像盖房子,“项目”是你整栋楼房的结构图纸,而“app”则是厨房、卧室、卫生间这些具体房间的设计图。

🌐 2. URL 路由(URL Dispatcher)

URL 就是网址,比如百度首页是 https://www.baidu.com

在 Django 中,我们通过 urlconf(URL 配置) 文件告诉服务器:访问某个网址的时候该去调用哪个函数(或页面)来处理请求。

比如:

  • 访问 /home → 显示首页内容
  • 访问 /about → 显示关于页面

💻 3. 视图(View)

View 是处理请求的核心部分,它是 Python 写的函数或类,负责接收请求、进行数据处理并返回响应内容。

比如说用户访问 /hello 这个网址,Django 会找到对应的 view 函数来输出 "Hello World!"。

📄 4. 模板(Template)

HTML 页面就是前端页面,而模板就是 HTML 加上一些变量和逻辑控制语句,让后端传来的数据能够动态填充到页面中。

比如我们可以在模板里写道:

<h1>Hello, {{ name }}!</h1>

当后端传入 "name": "Tom" 时,页面就会显示 “Hello, Tom!”

🗂️ 5. 模型(Model)

Model 是与数据库打交道的部分,我们在 Python 中定义一个模型类,Django 会自动帮我们生成数据库表,并提供增删改查的操作方法。

例如定义一个“文章”模型:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

Django 会自动生成一张名为 Article 的数据表。


实战项目:创建你的第一个 Django 网站

我们将一步步创建一个简单的网站,实现的功能包括:

  • 主页欢迎信息
  • 动态问候页面
  • 使用模板展示内容

让我们开始吧!

第一步:创建项目

打开终端,进入你要存放项目的文件夹,然后运行:

django-admin startproject mysite

这将在当前目录下创建一个名为 mysite 的项目目录,里面包含以下几个文件:

mysite/
├── manage.py
└── mysite/
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

其中:

  • manage.py 是项目的管理脚本
  • settings.py 是项目的配置文件
  • urls.py 是项目的 URL 路由文件

进入项目目录:

cd mysite

第二步:启动开发服务器

Django 自带了一个本地开发服务器,我们可以直接运行来看效果:

python manage.py runserver

打开浏览器访问:http://127.0.0.1:8000
你会看到“Welcome to Django!”的欢迎页面,说明服务运行正常啦 😊

按下 Ctrl+C 停止服务。

第三步:创建第一个 App

还记得我们讲过的 App 吗?现在我们要创建一个叫 pages 的 app 来管理首页内容。

执行命令:

python manage.py startapp pages

这时会生成一个 pages 文件夹。

别忘了注册 app 到项目中。编辑 mysite/settings.py 文件,在 INSTALLED_APPS 最后面添加一行:

'mysite.pages',  # 注意这里要加上项目的命名空间

第四步:编写视图 View

打开 pages/views.py 文件,写一个简单的视图函数:

from django.http import HttpResponse

def home(request):
    return HttpResponse("欢迎来到我的第一个Django网站!")

这段代码的意思是:当有人访问我们的主页时,显示一段文字。

第五步:配置 URL 路由

接下来我们需要告诉 Django,访问什么地址应该调用刚刚写的 home() 函数。

先在 pages 文件夹下创建一个 urls.py 文件,内容如下:

from django.urls import path
from . import views

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

然后修改项目主路由文件 mysite/urls.py,导入 include 并添加路由:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('mysite.pages.urls')),
]

这样,当我们访问 http://127.0.0.1:8000 时,就会看到我们的欢迎信息啦!

第六步:使用模板渲染动态内容

我们不希望每次都在代码里写 HTML 内容,而是想用模板来展示更丰富的界面。

1. 创建模板目录结构

pages 目录下新建一个文件夹:templates/pages/

结构如下:

pages/
├── templates/
│   └── pages/
│       └── home.html

2. 编写模板文件

home.html 文件中写入:

<!DOCTYPE html>
<html>
<head>
    <title>我的网站</title>
</head>
<body>
    <h1>你好,{{ user_name }}!</h1>
</body>
</html>

3. 修改视图函数,加载模板

修改 views.py

from django.shortcuts import render

def home(request):
    context = {
        'user_name': 'Django 新手'
    }
    return render(request, 'pages/home.html', context)

现在重启服务:

python manage.py runserver

访问 http://127.0.0.1:8000 你会看到:

你好,Django 新手!

🎉 成功展示了模板内容!


常见问题解答:新手常见问题汇总

❓1. 安装 Django 时出现错误怎么办?

✅ 解决方案:

  • 更新 pip 到最新版:python -m pip install --upgrade pip
  • 使用代理:pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

❓2. 激活虚拟环境失败

✅ 解决方案:

  • Windows 用户检查路径是否正确,或尝试使用 PowerShell / Git Bash
  • Mac/Linux 用户确保用的是 . activate 而不是 activate

❓3. 访问页面显示错误 404 Not Found

✅ 解决方案:

  • 检查 URL 配置是否正确
  • 查看是否忘记 include() 引用 app 的 urls.py

❓4. 模板找不到怎么解决?

✅ 解决方案:

  • 检查模板文件名和路径是否正确
  • 检查模板文件夹是否放在正确的 templates/ 目录下
  • 是否在 TEMPLATES 设置里启用了模板目录扫描

学习建议:下一步的学习路径

恭喜你完成第一个 Django 网站!这只是开始。以下是推荐继续学习的方向:

🔹 1. 学习模型 Model 和数据库操作

  • 学会定义数据库表结构
  • 使用 ORM 增删改查数据
  • 数据迁移(Migrations)的使用

🔹 2. 进阶模板 Template 技巧

  • 学习使用 {% if %}, {% for %} 控制逻辑
  • 使用模板继承(Base template)

🔹 3. 学习静态资源管理(CSS、JS、图片)

  • 静态文件配置和引用方法
  • 静态资源部署技巧

🔹 4. 学习用户登录和权限系统

  • Django 自带的 auth 用户系统
  • 登录验证装饰器 @login_required
  • 自定义用户模型扩展

🔹 5. 实战小项目推荐

  • 博客系统(Blog)
  • 待办事项(To Do List)
  • 在线问卷调查系统

总结

通过这篇教程,我们从零开始学会了如何:

  • 安装 Python 和 Django 环境
  • 创建项目和应用
  • 编写视图、配置 URL
  • 使用模板渲染动态页面

虽然还有很多知识没有讲完,但你现在已经掌握了最核心的基础能力。只要坚持练习,相信你很快就能搭建属于自己的复杂网站!

📌 下一步建议:

  • 多动手写代码,不要只是看懂
  • 给自己定一个小目标,比如两周内做出一个博客系统
  • 参考 Django 官方文档:https://docs.djangoproject.com

祝你在编程之路上越走越远!🌟


如果你想获得本文完整的项目源码包,请私信获取哦~

评论 0

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