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

赵雨泽☆
2025-06-28 14:19
阅读 226

开篇:什么是Django?它能帮你做什么?

开篇:什么是Django?它能帮你做什么?

在学习如何开发网站之前,我们先来了解一下今天的主角——Django
Django 是一个用 Python 编写的 后端框架,它的主要作用是帮助我们快速、安全地构建网站。你可以把它想象成一个“造房子的工具包”,里面已经有了很多已经建好的组件(比如数据库连接、用户登录功能等),我们只需要按照自己的需求进行组合和定制就可以了。

简单来说,如果你想要建立一个博客网站、在线商店、社交平台甚至企业管理系统,Django 都是一个非常合适的工具。它不仅强大而且高效,已经被广泛应用在全球众多知名网站中,比如 Instagram 和 Pinterest。

本教程的目标是带你从零开始,逐步学会使用 Django 创建一个完整的网站项目。在这个过程中,你不需要有任何编程经验,因为我们会一步步讲解每一个知识点,并通过实际操作加深理解。准备好了吗?让我们一起踏上这段旅程吧!


环境准备:搭建Django开发环境

环境准备:搭建Django开发环境

为了开始我们的学习,首先需要在电脑上安装和配置好 Django 所需的开发环境。别担心,这个过程其实很简单。我们将一步一步完成以下几项任务:

  1. 安装 Python
  2. 安装 pip(用于管理 Python 包)
  3. 使用 pip 安装 Django
  4. 检查是否安装成功

步骤 1:安装 Python

Django 是基于 Python 的框架,所以我们首先要安装 Python。目前推荐使用 Python 3,因为它是最新的版本并且有长期支持。

  • Windows 用户:请前往官网 https://www.python.org 下载适合你系统的最新版本 Python。
    • 安装时记得勾选 "Add Python to PATH"(将 Python 添加到系统路径中)选项,这样后续可以直接通过命令行调用 Python。
  • Mac 用户:可以在终端运行 python3 --version 查看是否已安装 Python。如果没有,可以通过 Homebrew 安装:
    brew install python
    
  • Linux 用户:一般系统自带了 Python,但建议升级到最新的 3.x 版本,可以使用下面命令检查当前版本:
    python3 --version
    

步骤 2:安装 pip

pip 是 Python 的包管理器,类似于 app store,我们可以用它来下载和安装像 Django 这样的软件包。

步骤 3:安装 Django

现在我们有了 Python 和 pip,接下来就可以安装 Django。打开命令行工具(例如 Windows 上的 CMD 或 Mac/Linux 上的 Terminal),然后输入以下命令:

pip install django

等待一段时间后,你会看到一些进度信息并最终显示安装成功的提示。

步骤 4:验证安装

安装完成后,我们可以简单测试一下 Django 是否工作正常。继续在命令行中输入:

django-admin --version

如果看到了类似这样的输出(具体数字可能会不同):

4.2.7

那么恭喜!你已经成功安装 Django 了。

接下来,我们就可以开始学习 Django 的核心概念并动手创建属于自己的第一个网站啦!


核心概念:了解 Django 的基本术语

核心概念:了解 Django 的基本术语

数据流转过程-2

在开始编写代码之前,我们需要先了解几个 Django 中的核心概念。这些概念会帮助你更好地理解整个框架是如何工作的。

项目与应用(Project & App)

项目就像是你整一个网站的“大纲”或“总目录”,包含了所有的设置以及多个不同的“应用”。而应用则是用来实现具体功能的部分。举个例子,如果你要创建一个购物网站,那么“用户注册模块”、“商品展示页面”、“订单处理系统”都可以作为独立的应用添加到项目中。

你可以把项目理解为一本书,应用就是这本书里的章节,每个章节讲述不同的内容。

新手问题解答:为什么要把功能拆分成项目和应用?
答:这样做有利于团队协作和维护代码。当项目变大时,分模块管理可以让代码更清晰、更易扩展。

模型(Model)

模型是用来描述数据结构的。换句话说,它告诉 Django 我们要存储什么样的数据。例如,如果你有一个“博客文章”的应用,那么模型可能包括标题、正文、发布日期等字段。

在 Django 中,模型通常是 Python 类的形式出现的。它还会自动帮助我们生成数据库表,让你不用直接去写 SQL 命令就能操作数据库。

视图(View)

视图是用来处理网页请求的地方。当用户访问某个页面时,我们需要根据请求的内容获取数据或者执行某些逻辑,最后再返回网页结果给用户。

比如,当你请求查看一篇博客文章的时候,视图会负责找到那篇文章,然后把它发送给模板进行显示。

模板(Template)

模板决定了网页是如何被渲染出来的。它类似于网页的骨架文件,通常使用 HTML 编写,并结合动态数据(例如从数据库读取的内容)来生成最终的网页内容。

你可以把模板理解为一个“填空表格”。每次请求的时候,视图会提供数据来填充这些空白部分,从而生成独一无二的页面。

URLs 分发机制(URL Dispatcher)

URLs 分发机制负责决定哪个网页请求应该由哪个视图来处理。你可以把它看作是一个“导航员”,它接收到请求的网址后,就负责把相应的任务交给合适的视图来处理。

比如,当我们访问 /blog/post/1/ 时,URL 分发机制会告诉 Django:“嘿,这里有一个请求是要看第一篇博客文章的,赶紧让 post_detail() 这个函数来处理它。”

以上就是 Django 的五个基础概念。别担心,刚开始可能会有点难懂,不过随着实践的深入,你会越来越清楚它们的作用。现在,让我们进入实战环节,亲手搭建我们的第一个 Django 网站吧!


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

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

准备好之后,我们就开始正式创建我们的第一个 Django 网站!这个项目是一个简单的“个人博客主页”,用户可以看到首页上显示的文字内容。通过这个项目,你会学习到如何新建项目、创建应用、添加网页内容并启动网站服务器。

第一步:新建项目

首先,在命令行工具里切换到你想保存项目的文件夹(比如桌面的一个新文件夹)。然后输入下面这条命令来新建一个名为 myblog 的 Django 项目:

django-admin startproject myblog

接着,使用 cd myblog 命令进入项目文件夹:

cd myblog

此时你会发现文件夹中有几个重要的文件:

  • manage.py:这是一个控制台工具,可以用来运行各种 Django 命令。
  • myblog/ 文件夹内包含项目的配置文件(例如数据库设置、时间格式等)。

第二步:运行本地服务器,查看初始效果

我们现在可以先试运行一下 Django 内置的 Web 服务器,看看默认的项目是否正常工作。确保你在 myblog 文件夹下,执行以下命令:

python manage.py runserver

稍等片刻,你会看到类似如下的提示:

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

这意味着你的本地服务器已经成功启动了。现在打开浏览器,访问地址 http://127.0.0.1:8000/ ,你会看到一个写着 “It worked!” 的页面。太棒了,这说明你的 Django 项目已经正常运行起来了!

第三步:创建应用

接下来,我们要创建一个应用叫做 blog,专门用来实现博客功能。仍在终端里运行:

python manage.py startapp blog

这时你会看到一个新文件夹 blog/ 被创建出来了,里面有很多默认生成的文件,比如 views.pymodels.py 等。

为了让 Django 知道我们新增了这个应用,还要把它注册到项目的主配置文件中。找到项目文件夹下的 myblog/settings.py 文件,打开它并在 INSTALLED_APPS 列表中加入 'blog',像这样:

INSTALLED_APPS = [
    ...
    'blog',
]

第四步:编写你的第一个网页

接下来,我们希望访问 /hello 这个地址时,能够显示一段文字。为此,我们需要定义一个视图、一个 URL 配置和一个简单的模板。

  1. 编辑视图 (views.py)

打开 blog/views.py 文件,并添加一个简单的视图函数:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("欢迎来到我的博客!")
  1. 配置 URL (urls.py)

blog/ 目录下新建一个 urls.py 文件,并写入如下内容:

from django.urls import path
from . import views

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

接着,回到项目的主 urls.py 文件(位于 myblog/urls.py),将 blog.urls 加入路径中:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]
  1. 重启服务

按下 Control + C 停止服务器,然后再重新运行:

python manage.py runserver
  1. 访问网页

再次访问 http://127.0.0.1:8000/hello/,你应该能看到一句欢迎语!

小结

到现在为止,你已经完成了以下几步:

  • 创建了一个 Django 项目
  • 成功运行了本地服务器
  • 添加了一个应用 blog
  • 编写了第一个网页并成功访问

恭喜你,这是你第一个完整的 Django 小网站!如果你还有兴趣的话,下一步可以尝试让网页变得更美观,或者加入更多内容。继续加油哦!


常见问题解答:新手容易遇到的问题和解决方法

系统架构设计图-1

在搭建 Django 网站的过程中,可能会遇到一些问题。不用担心,这些都是很常见的小挑战。下面我们列举了一些最常出现的问题及解决方案,希望可以帮助你顺利推进项目。

Q1:命令行报错:“command not found”怎么办?

如果你尝试运行 django-admin 或者 python manage.py 的时候遇到了错误提示,比如 django-admin: command not found,这通常是由于环境变量没有正确配置导致的。

解决办法:

  • 确认你是否已经正确安装了 Python 和 Django?
    • 可以通过 python --versionpip list 来确认。
  • 如果已经安装,尝试换用 python -m django 来代替 django-admin,例如:
    python -m django startproject myproject
    
  • 检查 pip install django 是否安装到了正确的 Python 环境中。
    • 如果你有多个 Python 版本,可以尝试使用 python3 替代 python,比如:
      python3 manage.py runserver
      

Q2:服务器运行时报错“Error loading MySQLdb module”

这个问题出现在试图运行服务器时,提示找不到 MySQL 数据库相关的依赖。但如果你只是运行默认 SQLite(轻量级数据库)的话,其实是不需要这个模块的。

解决办法:

  • 确保你没有主动修改过 settings.py 文件中的数据库设置。
    • 如果不确定,可以暂时删掉修改过的数据库配置,保留默认设置即可。
  • 如果确实想使用 MySQL,你需要额外安装相关依赖,使用以下命令:
    pip install mysqlclient
    

Q3:访问网页时出现“Page not found (404)”错误

404 错误表示你访问的页面不存在。常见原因包括:

  • URL 配置不正确,比如拼写错误或者路径未匹配。
  • 没有重启服务器更新路由配置。

解决办法:

  • 检查 urls.py 文件中的路径是否正确。
    • 确认你访问的地址与 path() 函数中设置的完全一致。
  • 重启服务器,让新设置生效。
    • 停止当前服务器(Ctrl+C),然后重新运行 runserver 命令。

Q4:页面显示乱码或中文显示异常

如果网页上的中文出现了乱码或无法正常显示,这可能是编码设置的问题。

解决办法:

  • 确保你的模板文件、HTML 页面以及数据都是使用 UTF-8 编码保存的。
  • 在项目的 settings.py 文件中检查是否有全局编码设置:
    LANGUAGE_CODE = 'zh-hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    USE_L10N = True
    USE_TZ = True
    
  • 如果仍然存在问题,可以尝试手动指定模板编码。

其他建议

除了上述问题外,还有一些通用的小技巧:

  • 多次出现问题时,可以尝试创建一个新的虚拟环境,重新安装 Django 和依赖包。
  • 经常查看官方文档(https://docs.djangoproject.com),那里有详细的解释和示例。
  • 学会利用搜索引擎,90% 的问题都已经被别人问过了,试着搜索错误信息的关键字通常能找到答案!

记住,学习编程的过程就是一个不断解决问题的过程。只要多练、多查、多试,这些困难都会慢慢克服的。加油!


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

恭喜你完成了 Django 的第一个小项目!现在,你已经掌握了 Django 的基础操作,也明白了它是如何工作的。但是,要想真正成为一个熟练的开发者,还需要不断地深入学习和练习。下面是一些建议,帮助你明确下一步的学习方向:

1. 学习 HTML/CSS 和前端基础知识

现在的网站不仅仅是后端数据的处理,还涉及到页面的设计和交互。虽然本教程中我们使用的是简单的文本响应,但在实际开发中你会经常和 HTML、CSS 打交道。

  • 推荐资源:MDN Web 文档 (https://developer.mozilla.org) 是一个非常好的起点。
  • 实践项目:尝试自己设计一个漂亮的网页模板,并在 Django 中使用它来渲染。

2. 掌握数据库和模型的使用

Django 强大的地方之一就在于它可以轻松地和数据库打交道。你可以开始学习如何定义复杂的模型、建立数据库关系,以及如何查询数据。

  • 推荐资源:阅读官方文档中的 Models 部分。
  • 实践项目:为你的博客网站添加一篇文章模型,允许用户添加标题、正文和发布时间。

3. 深入了解模板和静态文件管理

Django 提供了强大的模板语言,让你可以把数据嵌入到 HTML 页面中。此外,图片、CSS 和 JavaScript 等静态文件也需要合理的管理方式。

  • 推荐资源:学习官方文档中的 模板系统静态文件 部分。
  • 实践项目:尝试将一个现成的 HTML 模板整合进 Django 项目中,让网页变得更加美观。

4. 进阶功能:用户认证、权限管理、REST API

一旦你对基础功能比较熟悉,就可以尝试接触更高级的功能了,比如用户注册和登录、权限控制、以及 REST API 的搭建。这些功能是现代 Web 应用的重要组成部分。

  • 推荐资源:Django REST Framework 是构建 API 的首选工具。
  • 实践项目:为你的博客网站加上用户注册功能,并允许他们发表自己的文章。

5. 部署网站上线

学到一定阶段后,你还可以尝试把自己的网站部署到互联网上,让用户都能访问。这会涉及服务器、域名、HTTPS 等知识。

  • 推荐资源:学习 Django 官方指南中的 Deploying Django 部分。
  • 实践项目:使用免费的服务(如 Heroku 或 PythonAnywhere)上线你的博客网站。

总之,学习是一个循序渐进的过程,不要急于求成。每一步都要扎扎实实地理解和练习。只要你坚持下去,一定会看到成果!祝你学习愉快,成为一位出色的 Django 开发者! 🚀

评论 0

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