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

大家好!如果你是编程新手,可能听说过“Python”这个语言,但对 Django 还不太熟悉。别担心,这一章我们就来简单聊聊。
Django 简介
Django 是一个用 Python 编写的高级 Web 框架(Web Framework),专门用来帮助开发者快速搭建功能强大的网页应用或网站后端服务。你可以把它想象成盖房子的“脚手架” —— 有了它,你就不用从零开始打地基,而是可以专注于设计和装修房子本身。
Django 能干什么?
- 做博客系统、电商网站、企业官网
- 开发用户注册与登录系统
- 实现后台管理系统(比如内容发布平台)
- 提供 API 接口,给 App 或其他系统调用
- 数据库建模 + 快速生成管理界面
说白了,只要你需要在浏览器里访问一个由服务器提供数据支持的网页,那 Django 就能派上用场!
环境准备:配置开发环境(超详细)

在这一步中,我们要准备好写代码的“工具箱”。别担心,过程其实非常简单,就像安装游戏一样一步一步来就好。
步骤1:安装 Python
首先确保你的电脑已经安装了 Python 3.8+。打开终端(Windows 下可以用 CMD 或 PowerShell)输入:
python --version
如果看到类似 Python 3.10.6 的字样就说明安装好了。
⚠️ 如果没有安装,请到 Python 官网 下载并安装。
步骤2:安装 pip
Pip 是 Python 的包管理器,相当于软件商店。通常安装完 Python 后会自动附带 pip。检查方式:
pip --version
如果有输出结果,说明 OK。否则请百度搜索 “手动安装 pip” 查看具体方法。
步骤3:创建项目目录
我们先为自己新建一个项目文件夹,比如叫 my_website:
mkdir my_website
cd my_website
在 Windows 上也可以直接使用资源管理器操作。
步骤4:安装虚拟环境 virtualenv
为了避免不同项目依赖冲突,我们需要为每个项目建立一个独立的小空间。这里我们可以使用 virtualenv 来实现。
pip install virtualenv
然后进入刚才创建的项目目录,创建虚拟环境:
virtualenv venv
激活虚拟环境(Windows):
.\venv\Scripts\activate.bat
Mac/Linux 用户激活命令:
source venv/bin/activate
✅ 成功激活后,命令行前会出现
(venv)提示
步骤5:安装 Django
现在我们可以在虚拟环境中安装 Django 了:
pip install django
验证是否安装成功:
django-admin --version
如果出现版本号说明安装完成!
核心概念:Django 到底有哪些关键词?

学习任何新技能,理解基本术语都非常关键。下面我会用最通俗的语言,介绍几个你在接下来教程中会频繁遇到的核心概念。
🌐 什么是项目(Project)?
项目就是整个网站的整体结构,类似于一本书的框架。你可以在这个项目里包含多个小模块,这些模块叫做 App。
🧩 什么是 App?
App 是项目中的一个小功能模块。举个例子:
- 你的网站有博客文章板块 → 叫做
blog - 有用户评论系统 → 叫做
comments - 还有一个联系我们页面 → 叫做
contact
每一个 App 都可以单独开发、管理和测试。
📂 什么是模型(Model)?
模型是用来描述数据结构的。你可能会问:那跟数据库有什么关系?
很简单!模型就相当于告诉 Django:“我打算存什么样的数据”,然后 Django 自动帮你创建对应的数据库表格。
举例:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
上面这个模型定义了一个博客文章的数据结构。
🕹 视图(Views)
视图就像是大脑指挥官。它负责接收用户的请求(比如访问 /articles/ 页面),处理一些逻辑(读取数据库数据、计算等),然后返回响应(如 HTML 页面、JSON 数据)。
from django.http import HttpResponse
def home(request):
return HttpResponse("欢迎来到我的首页!")
这段代码表示当用户访问首页时,就显示一句话。
📄 模板(Template)
模板是一个 HTML 文件,但支持变量和动态逻辑。它让我们的网页更美观,并且可以灵活展示不同的内容。
例如 home.html:
<!DOCTYPE html>
<html lang="en">
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ welcome_msg }}</h1>
</body>
</html>
然后在 view.py 中渲染这个模板:
from django.shortcuts import render
def home(request):
context = {
'title': '我的主页',
'welcome_msg': '欢迎访问本站点'
}
return render(request, 'home.html', context)
🗺 URL路由(URL Routing)
URL 路由就像是导航地图。当你在浏览器输入一个网址,比如 http://localhost:8000/about/,Django 会根据路由配置找到对应的函数去执行。
在 urls.py 里添加:
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
实战项目:跟着一步步搭建你的第一个网站
终于到了动手实践的部分啦!我们来一起构建一个简单的个人博客网站!
第一步:创建项目
回到终端,确保已激活虚拟环境后运行:
django-admin startproject blog_project
cd blog_project
这样你就创建了一个名为 blog_project 的项目。
项目结构如下:
blog_project/
├── manage.py
└── blog_project/
├── settings.py
├── urls.py
├── wsgi.py
└── asgi.py
第二步:启动服务器测试一下
运行以下命令,启动本地开发服务器:
python manage.py runserver
接着打开浏览器访问 http://localhost:8000,你应该可以看到 Django 默认的欢迎页,说明一切正常!
第三步:创建第一个 App(blog)
继续在终端中执行:
python manage.py startapp blog
现在你会看到多了一个名叫 blog 的文件夹。
别忘了在 settings.py 中注册这个 App:
INSTALLED_APPS = [
...
'blog',
]
第四步:创建数据模型(Article)
打开 blog/models.py,添加如下模型:
from django.db import models
class Article(models.Model):
title = models.CharField(max_length=200)
content = models.TextField()
pub_date = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
保存后,在终端运行以下命令来生成数据库表:
python manage.py makemigrations
python manage.py migrate
第五步:创建超级管理员账户
为了可以使用内置的后台管理系统,我们需要创建一个管理员账号:
python manage.py createsuperuser
按照提示输入用户名、邮箱、密码即可。
第六步:注册 Admin 后台
为了让管理员能看到文章管理界面,需要修改 blog/admin.py:
from django.contrib import admin
from .models import Article
admin.site.register(Article)
现在重启服务器:
python manage.py runserver
访问 http://localhost:8000/admin/,用刚刚创建的账号登录进去,就能看到 Articles 管理界面啦!
第七步:编写视图和模板展示文章
首先,在 blog/views.py 写一个视图函数:
from django.shortcuts import render
from .models import Article
def article_list(request):
articles = Article.objects.all().order_by('-pub_date')
return render(request, 'article_list.html', {'articles': articles})
然后在 blog/templates/article_list.html 创建该模板文件:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>所有文章</title>
</head>
<body>
<h1>我的文章列表</h1>
{% for article in articles %}
<div style="margin-bottom: 20px;">
<h2>{{ article.title }}</h2>
<p>{{ article.content|truncatewords:30 }}</p>
<small>发表时间:{{ article.pub_date }}</small>
</div>
{% empty %}
<p>暂时还没有文章哦~</p>
{% endfor %}
</body>
</html>
最后配置 URL,在 urls.py 添加路径:
from django.urls import path
from blog import views
urlpatterns = [
path('articles/', views.article_list, name='article_list'),
]
刷新浏览器访问 http://localhost:8000/articles/,就可以看到你刚刚添加的文章啦!
常见问题解答

刚开始学习总是会碰到一些莫名其妙的问题,下面是一些常见的疑难杂症和解决方案:
❓ Q1:安装 Django 失败怎么办?
✅ 解决方案:
- 确保网络通畅,有些地区需要科学上网
- 使用国内源安装:
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple
❓ Q2:启动服务器时报错“无法连接数据库”
✅ 解决方案:
- 可能因为未正确运行 migrations,请执行:
python manage.py makemigrations
python manage.py migrate
❓ Q3:模板找不到,报错 TemplateDoesNotExist
✅ 解决方案:
- 检查模板路径是否正确放置于
templates文件夹内 - 确保 Django 找得到模板目录:在
settings.py中查看是否有如下设置:
TEMPLATES = [
{
...
'DIRS': [BASE_DIR / "templates"], # 加入这行
...
}
]
❓ Q4:页面不刷新,改了代码没变化
✅ 解决方案:
- 尝试按 Ctrl + F5 强制刷新浏览器缓存
- 如果是在运行服务器过程中做了代码修改,一般会自动重载
学习建议:下一步该学什么?
完成了本教程后,恭喜你迈出了成为 Web 开发者的第 一大步!
但路还很长,接下来建议你尝试:
- 学习用户注册与登录功能(Django Auth)
- 掌握静态文件和媒体文件配置
- 使用 Bootstrap 美化前端模板
- 搭建前后端分离项目(RESTful API)
- 部署上线自己的网站(比如使用 Nginx + Gunicorn)
当然也别忘了持续练习项目实战,这样才能真正掌握 Django 的精髓。
结语
通过这篇图文结合、循序渐进的《Django 入门教程》,你现在应该已经掌握了如何搭建一个基于 Django 的简易网站,并理解了 MVC 架构下的核心模块。
记住,编程最忌讳的就是只看不动手。一定要自己敲一遍,跑一跑代码。遇到问题别怕,多 Google,多提问,你一定能越来越熟练!
加油!未来的 Django 高手正在诞生 💪✨

评论 0