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

乐观锁玩家
2025-06-20 09:58
阅读 246

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

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

你有没有想过自己开发一个网站?比如博客、在线商城、或者是学习笔记分享平台?Django 就是这样一个帮你快速实现这些想法的工具!

Django 是一个用 Python 编写的 Web 开发框架。它就像一座房子的地基和墙体结构,让你不用从零开始造轮子,而是专注于搭建你想展示的内容。

使用 Django,你可以:

  • 快速创建数据库(比如用户信息、文章内容)
  • 搭建网页页面
  • 处理用户的访问请求
  • 管理后台界面

本篇文章将会手把手带你从零开始,完成你的第一个 Django 网站项目——一个简单的博客网站!


环境准备:安装必要的软件和环境

环境准备:安装必要的软件和环境

在开始写代码之前,我们需要先准备好开发环境。

1. 安装 Python

Django 是基于 Python 的,所以首先你需要安装 Python。

Windows 用户:

  1. 前往 https://www.python.org/downloads/
  2. 下载最新的 Python 3.x 版本并安装
  3. 在安装过程中勾选“Add to PATH”

安装完成后,在命令行中输入:

python --version

你应该看到类似下面的输出:

Python 3.10.x

Mac / Linux 用户:

大多数系统自带了 Python,输入以下命令查看版本:

python3 --version

如果没安装,可以使用 Homebrew(Mac)或系统包管理器进行安装。


2. 创建虚拟环境(推荐)

虚拟环境可以为每个项目单独配置依赖,避免冲突。

在项目文件夹中运行以下命令:

python -m venv env

然后激活虚拟环境:

Windows:

env\Scripts\activate

Mac / Linux:

source env/bin/activate

激活后命令行前面会显示 (env),表示已进入该虚拟环境。


3. 安装 Django

确保你已经激活了虚拟环境,然后输入:

pip install django

等待下载和安装完成后,运行下面命令确认是否成功:

django-admin --version

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

4.2.x

恭喜!你现在有了完整的 Django 开发环境!


核心概念:Django 的关键组成部分简介

为了更好地理解 Django 是如何工作的,我们来了解几个基础但非常重要的概念。

缓存策略对比-2

1. 项目(Project)

整个网站是一个 Django 项目。它包含多个应用,共享同一个配置和数据库。

2. 应用(App)

一个项目可以包含多个功能模块,这些叫作 应用(App)。例如:

  • blog(博客)
  • accounts(用户账户系统)

每个 App 可以有自己的数据模型、视图和模板。

3. 模型 Model

定义数据结构的地方,例如:

  • 博客文章 = 标题 + 内容 + 发布时间
  • 用户 = 名字 + 邮箱 + 密码

4. 视图 View

告诉 Django 如何处理用户请求,并返回页面内容。

5. 模板 Template

HTML 页面模板,用来生成最终网页内容。

6. URL 路由

URL 就是网址,Django 使用路由文件将不同的网址对应到不同视图函数。


实战项目:搭建一个简易博客网站

我们将一步步完成这个小项目,包括创建项目、添加页面、发布文章。

第一步:创建 Django 项目

确保你在虚拟环境中,然后执行:

django-admin startproject myblog

这会创建一个名为 myblog 的文件夹,里面包含基本的项目结构:

myblog/
├── manage.py        # 用于管理项目的脚本
└── myblog/
    ├── __init__.py
    ├── settings.py   # 项目设置
    ├── urls.py       # 网站的路由配置
    └── wsgi.py

进入项目目录并启动服务器:

cd myblog
python manage.py runserver

浏览器打开 http://127.0.0.1:8000,你会看到 Django 默认欢迎页面。

按下 Ctrl+C 停止服务器,继续下一步。


第二步:创建 Blog 应用

Django 推荐每个功能放在单独的应用中。

运行以下命令创建 blog 应用:

python manage.py startapp blog

这时候你会在项目根目录下看到新的 blog 文件夹。

为了让 Django 认识这个新应用,需要把它添加进配置文件。

打开 myblog/settings.py,找到 INSTALLED_APPS 列表,在末尾添加:

'blog.apps.BlogConfig',

保存文件。


第三步:创建博客文章的数据模型

打开 blog/models.py,修改内容如下:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

这段代码的意思是:我们要建立一个叫 Post(文章)的数据模型,每篇文章有标题、内容和发布时间。

保存后,告诉 Django 更新数据库:

python manage.py makemigrations blog
python manage.py migrate

这两个命令会自动在数据库中创建存储博客文章的表格。


第四步:创建管理员账号并添加文章

Django 自带强大的后台管理系统。

创建超级用户:

python manage.py createsuperuser

按提示输入用户名、邮箱和密码。

启动服务器:

python manage.py runserver

打开浏览器访问:http://127.0.0.1:8000/admin,用刚才创建的账号登录。

你还看不到 Post 类,因为还没有注册它。

打开 blog/admin.py,修改为:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

刷新管理员页面,现在就能看到 “Posts” 并可以添加新文章啦!


第五步:创建首页视图,显示所有博客文章

现在,我们要创建一个视图函数,让访客可以看到发布的文章。

编辑 blog/views.py

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all().order_by('-published_date')
    return render(request, 'blog/post_list.html', {'posts': posts})

这段代码做了这几件事:

  • 从数据库获取所有文章
  • 按发表时间倒序排列
  • 渲染一个模板,并把文章传给模板

接下来,我们要创建对应的 HTML 模板。

新建文件夹结构如下:

blog/
└── templates/
    └── blog/
        └── post_list.html

post_list.html 中写入以下内容:

<!DOCTYPE html>
<html>
<head>
    <title>我的博客</title>
</head>
<body>
    <h1>欢迎来到我的博客</h1>
    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.content }}</p>
        <hr />
    {% endfor %}
</body>
</html>

第六步:配置 URL 路由

现在,我们要把网页地址 / 映射到刚刚创建的视图。

打开 myblog/urls.py 修改如下:

from django.contrib import admin
from django.urls import path
from blog import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.post_list, name='post_list'),
]

现在重启服务器,访问 http://127.0.0.1:8000,你应该能看到你刚才添加的文章!


新手常见问题解答

Q1:为什么运行时出现 "command not found"?

A:请检查是否激活了虚拟环境,并且 pip 是否正确安装。尝试重新输入安装命令。


Q2:运行服务器时报错 no module named blog

A:请确认你已在 INSTALLED_APPS 中正确添加 'blog.apps.BlogConfig'


Q3:模板不显示文章内容怎么办?

A:请检查:

  • 模板文件路径是否正确
  • 数据库是否已迁移并添加了文章
  • URL 是否指向了正确的视图函数

Q4:中文乱码怎么办?

A:确保 HTML 文件顶部加上:

<meta charset="UTF-8">

并且 Django 设置中:

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

学习建议:下一步怎么学?

恭喜你完成了你的第一个 Django 网站!以下是进一步学习的方向建议:

学习内容 简介
Django 表单 学会让用户提交评论、注册账号等交互操作
模板继承 多个页面共用头部、底部,提高开发效率
用户认证系统 添加登录、登出功能,限制页面访问权限
Bootstrap 集成 使用现成 CSS 框架美化网页
部署网站 把本地项目上传到服务器供他人访问

网上有许多免费资源可以帮助你继续学习:

  • Django 官方文档
  • Bilibili/Douyin 上搜索 “Django 教程”
  • 推荐书籍《Fluent Python》《Two Scoops of Django》

结语:编程的世界大门已经为你打开!

服务器部署方案-1

这篇文章只是一个起点。Django 功能强大、生态丰富,适合初学者也足够专业开发者使用。通过不断地动手实践,你会发现 Web 开发的乐趣,甚至可以用它打造属于自己的网站、社区或商业项目!

遇到问题不要怕,记住一句话:“Google 是程序员最好的朋友。”

祝你学得开心,编程快乐!💪

评论 0

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