Django入门教程:搭建你的第一个Python网站
开篇:什么是Django?它能帮你做什么?

在学习如何开发网站之前,我们先来了解一下今天的主角——Django。
Django 是一个用 Python 编写的 后端框架,它的主要作用是帮助我们快速、安全地构建网站。你可以把它想象成一个“造房子的工具包”,里面已经有了很多已经建好的组件(比如数据库连接、用户登录功能等),我们只需要按照自己的需求进行组合和定制就可以了。
简单来说,如果你想要建立一个博客网站、在线商店、社交平台甚至企业管理系统,Django 都是一个非常合适的工具。它不仅强大而且高效,已经被广泛应用在全球众多知名网站中,比如 Instagram 和 Pinterest。
本教程的目标是带你从零开始,逐步学会使用 Django 创建一个完整的网站项目。在这个过程中,你不需要有任何编程经验,因为我们会一步步讲解每一个知识点,并通过实际操作加深理解。准备好了吗?让我们一起踏上这段旅程吧!
环境准备:搭建Django开发环境

为了开始我们的学习,首先需要在电脑上安装和配置好 Django 所需的开发环境。别担心,这个过程其实很简单。我们将一步一步完成以下几项任务:
- 安装 Python
- 安装 pip(用于管理 Python 包)
- 使用 pip 安装 Django
- 检查是否安装成功
步骤 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 这样的软件包。
- 在大多数情况下,新版 Python 已经自带了 pip,可以用如下命令检查:
pip3 --version - 如果没有看到输出,请参考 https://pip.pypa.io/en/stable/installation/ 进行安装。
步骤 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 中的核心概念。这些概念会帮助你更好地理解整个框架是如何工作的。
项目与应用(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 网站!这个项目是一个简单的“个人博客主页”,用户可以看到首页上显示的文字内容。通过这个项目,你会学习到如何新建项目、创建应用、添加网页内容并启动网站服务器。
第一步:新建项目
首先,在命令行工具里切换到你想保存项目的文件夹(比如桌面的一个新文件夹)。然后输入下面这条命令来新建一个名为 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.py、models.py 等。
为了让 Django 知道我们新增了这个应用,还要把它注册到项目的主配置文件中。找到项目文件夹下的 myblog/settings.py 文件,打开它并在 INSTALLED_APPS 列表中加入 'blog',像这样:
INSTALLED_APPS = [
...
'blog',
]
第四步:编写你的第一个网页
接下来,我们希望访问 /hello 这个地址时,能够显示一段文字。为此,我们需要定义一个视图、一个 URL 配置和一个简单的模板。
- 编辑视图 (
views.py)
打开 blog/views.py 文件,并添加一个简单的视图函数:
from django.http import HttpResponse
def hello(request):
return HttpResponse("欢迎来到我的博客!")
- 配置 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')),
]
- 重启服务
按下 Control + C 停止服务器,然后再重新运行:
python manage.py runserver
- 访问网页
再次访问 http://127.0.0.1:8000/hello/,你应该能看到一句欢迎语!
小结
到现在为止,你已经完成了以下几步:
- 创建了一个 Django 项目
- 成功运行了本地服务器
- 添加了一个应用
blog - 编写了第一个网页并成功访问
恭喜你,这是你第一个完整的 Django 小网站!如果你还有兴趣的话,下一步可以尝试让网页变得更美观,或者加入更多内容。继续加油哦!
常见问题解答:新手容易遇到的问题和解决方法

在搭建 Django 网站的过程中,可能会遇到一些问题。不用担心,这些都是很常见的小挑战。下面我们列举了一些最常出现的问题及解决方案,希望可以帮助你顺利推进项目。
Q1:命令行报错:“command not found”怎么办?
如果你尝试运行 django-admin 或者 python manage.py 的时候遇到了错误提示,比如 django-admin: command not found,这通常是由于环境变量没有正确配置导致的。
解决办法:
- 确认你是否已经正确安装了 Python 和 Django?
- 可以通过
python --version和pip list来确认。
- 可以通过
- 如果已经安装,尝试换用
python -m django来代替django-admin,例如:python -m django startproject myproject - 检查
pip install django是否安装到了正确的 Python 环境中。- 如果你有多个 Python 版本,可以尝试使用
python3替代python,比如:python3 manage.py runserver
- 如果你有多个 Python 版本,可以尝试使用
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命令。
- 停止当前服务器(Ctrl+C),然后重新运行
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 等静态文件也需要合理的管理方式。
4. 进阶功能:用户认证、权限管理、REST API
一旦你对基础功能比较熟悉,就可以尝试接触更高级的功能了,比如用户注册和登录、权限控制、以及 REST API 的搭建。这些功能是现代 Web 应用的重要组成部分。
- 推荐资源:Django REST Framework 是构建 API 的首选工具。
- 实践项目:为你的博客网站加上用户注册功能,并允许他们发表自己的文章。
5. 部署网站上线
学到一定阶段后,你还可以尝试把自己的网站部署到互联网上,让用户都能访问。这会涉及服务器、域名、HTTPS 等知识。
- 推荐资源:学习 Django 官方指南中的 Deploying Django 部分。
- 实践项目:使用免费的服务(如 Heroku 或 PythonAnywhere)上线你的博客网站。
总之,学习是一个循序渐进的过程,不要急于求成。每一步都要扎扎实实地理解和练习。只要你坚持下去,一定会看到成果!祝你学习愉快,成为一位出色的 Django 开发者! 🚀

评论 0