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

在开始写代码之前,我们需要先了解你要学习的技术是啥。
Django 是一个用 Python 编写的 Web 框架。
听起来有点专业?没关系,我来解释得更简单一点:
想象一下你想要搭一个房子。如果你自己从头开始一块砖一块砖地垒墙,可能会很慢也很累。而 Django 就像是一个“建房工具包”,它已经帮你搭好了基本结构(比如门、窗、楼梯),你只需要根据自己的需求去装修就行了。
具体来说,Django 帮你处理了网页后台的很多复杂逻辑,比如用户注册登录、数据存储(数据库)、管理后台等等。有了它,我们就可以很快地开发出功能完善的网站!
这篇文章就带你一步步用 Django 搭建你人生中的第一个网站。准备好开始了吗?
二、环境准备:安装与配置开发环境

1. 安装 Python
首先,确保你电脑上已经安装了 Python。我们建议使用 Python 3.8 到 3.12 的版本。
打开终端或命令行输入:
python --version
或者 Mac/Linux 用户可能需要用:
python3 --version
如果看到类似 Python 3.11.5 这样的输出说明 Python 已安装。没有的话可以去 Python官网下载安装。
✅ 提示:安装时记得勾选“Add to PATH”,否则后续步骤会不方便。
2. 安装 Django
接下来我们要用 pip(Python 的包管理器)来安装 Django。
输入命令:
pip install django
等待安装完成后,输入:
django-admin --version
如果出现版本号(如 4.2 或更高),说明安装成功!
3. 创建项目目录
我们可以新建一个专门放项目的文件夹:
mkdir mysite
cd mysite
现在我们在这个目录里创建 Django 项目。
三、核心概念:初识 Django 关键术语

在正式开始前,我们先认识几个重要概念:
| 名称 | 解释 |
|---|---|
| 项目(Project) | 整个网站的大框架,包含多个应用 |
| 应用(App) | 网站的一个小功能模块(比如博客、论坛、用户系统) |
| URL 路由 | 把不同的网址(如 /home、/about)和对应的页面连接起来 |
| 视图(View) | 当用户访问某个地址时要返回什么内容 |
| 模板(Template) | HTML 文件,负责展示页面外观 |
| 模型(Model) | 数据结构的定义,通常对应数据库表格 |
理解这些词很重要,后面你会频繁看到它们。
四、实战项目:跟着我一步步做一个网站吧!

我们将完成一个小网站,功能很简单:
- 显示欢迎语:“欢迎来到我的第一个 Django 网站!”
- 包含两个页面:首页和关于页
让我们一步一步来!
第一步:创建 Django 项目
在命令行中执行:
django-admin startproject myproject
这将创建一个名为 myproject 的文件夹,里面就是我们的网站骨架。
结构如下:
mysite/
└── myproject/
├── manage.py
└── myproject/
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
其中:
manage.py:用于运行各种命令的脚本settings.py:整个网站的配置文件urls.py:网站路由配置文件
第二步:启动开发服务器
我们先进入项目根目录:
cd myproject
然后运行下面这个命令:
python manage.py runserver
这时你就能看到 Django 启动了一个本地服务器,默认监听在 http://127.0.0.1:8000/
打开浏览器访问这个地址,应该能看到欢迎页面:
It worked!
Congratulations on your first Django-powered page.
⚠️ 注意:若端口占用可换为:
python manage.py runserver 8001
第三步:创建第一个 App
我们在项目里添加一个应用,叫它 pages(页面应用):
python manage.py startapp pages
这时你会看到多了一个 pages/ 文件夹,里面有 views.py 和其他基础文件。
为了让 Django 认识这个新应用,我们需要在 myproject/settings.py 中找到 INSTALLED_APPS 并加上 'pages':
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'pages', # 加上这一行
]
保存即可。
第四步:编写第一个视图(View)
打开 pages/views.py,修改内容如下:
from django.http import HttpResponse
def home_view(request):
return HttpResponse("欢迎来到我的第一个 Django 网站!")
def about_view(request):
return HttpResponse("这是关于页面。")
这里我们写了两个函数,分别处理首页和关于页的内容。
第五步:配置 URL 路由
我们需要告诉 Django,当用户访问某些网址时,调用哪个 View。
首先,在 pages/ 目录下新建一个文件:urls.py,内容如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home_view, name='home'),
path('about/', views.about_view, name='about'),
]
接着,修改主项目的 urls.py,让 Django 知道去哪里找这些子路由:
打开 myproject/urls.py:
from django.urls import path, include
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')), # 新增这一行
]
这样我们就把所有空路径(即 http://localhost:8000/)和 pages.urls 里的路由关联起来了。
第六步:再次运行服务器,查看效果
再次运行:
python manage.py runserver
打开浏览器访问:
首页:
http://localhost:8000/
→ 输出 “欢迎来到我的第一个 Django 网站!”关于页:
http://localhost:8000/about/
→ 输出 “这是关于页面。”
恭喜你,你的第一个 Django 网站做好啦!
五、新手常见问题解答
Q1:为什么会出现 "ImportError" 或 "Module not found"?
A:多半是因为没有正确激活虚拟环境,或者没有安装必要的依赖。建议重新检查是否安装 Django 和其他库。
Q2:为什么访问页面出现空白?
A:可能是你忘记重启服务,或者视图函数没有返回响应(例如少写了 return)。请检查你的 view 函数是否有问题。
Q3:如何退出运行的服务?
A:按下键盘上的 Ctrl + C 即可终止服务。
Q4:我能改端口号吗?
A:当然可以。运行时加参数即可:
python manage.py runserver 8080
Q5:能否多个 App?
A:当然可以!Django 支持非常灵活的 App 结构。你可以为不同功能建立不同的 App。
六、下一步学习建议:继续深入的方向
你已经完成了最基础的部分。现在可以尝试学习以下内容,逐步提升能力:
✅ 推荐进阶方向
模板系统(Templates)
使用 HTML 页面替代纯文本响应,让你的页面更美观。模型(Models)与数据库操作
存储用户的留言、文章等内容。Django 内置了强大的 ORM 功能。表单(Forms)处理
实现用户提交信息的功能,如评论框、注册表单等。静态文件管理(CSS / JS / 图片)
控制网站样式资源加载方式。用户权限系统(Authentication)
实现登录、注册、权限控制等功能。部署上线
学习如何将网站发布到公网上,让大家都能访问。
📚 学习资料推荐
- 官方文档(英文): https://docs.djangoproject.com/
- DjangoGirls 教程(中文翻译): https://tutorial.djangogirls.org/zh/
- YouTube 教程搜索关键词:Django tutorial for beginners
总结:坚持下去,你一定能掌握 Django!
本文只是一个起点,但只要你一步步实践,慢慢积累经验,就能写出更复杂、更酷炫的网站!
记住一句话:
“编程不是聪明人的专利,而是勤快人的游戏。”
所以,不要怕犯错,不要怕看不懂,勇敢敲下你的第一行代码吧!
如果你喜欢这样的教程,也欢迎关注我后续的《Django进阶篇》、《构建个人博客》、《制作电商平台》等课程!
Happy coding! 💻✨

评论 0