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

Django 是一个用 Python 编写的 Web开发框架。它可以帮助你快速构建功能强大的动态网页。
简单理解一下,“Web开发框架”就像是为盖房子准备好的“建材包”,里面有砖头(数据库操作)、水泥(路由管理)、门窗(表单)等常用组件,直接拿来就可以用,大大节省了开发时间。
Django 的口号是:“让开发者专注于写代码,而不是重复造轮子。”这意味着你可以用更少的代码,快速实现复杂的 Web 功能,比如注册登录、后台管理、文章发布系统等。
在本教程中,我们将一步步带你使用 Django 搭建一个简单的网站 —— 它会展示一句欢迎语,并有一个页面可以显示当前的时间。
环境准备:搭建你的开发环境

在开始之前,你需要安装以下工具:
1. 安装 Python
确保你的电脑上已经安装了 Python。目前推荐版本是 Python 3.9 以上。
打开终端(Mac/Linux)或命令提示符(Windows),输入:
python --version
或者(某些系统中):
python3 --version
你会看到类似这样的输出:
Python 3.10.6
如果没有安装,请前往 https://www.python.org/downloads/ 下载并安装。
2. 安装 pip(Python 包管理器)
pip 是用来安装 Python 库的工具。大多数 Python 安装包中都自带了 pip。
检查是否已安装:
pip --version
如果没安装,请参考官方文档进行安装:https://pip.pypa.io/en/stable/installation/
3. 安装 Django
使用 pip 来安装 Django:
pip install django
安装完成后查看版本:
django-admin --version
你应该能看到类似 4.2.5 这样的数字,表示安装成功。
4. 创建项目目录(可选但推荐)
创建一个专门存放 Django 项目的文件夹,例如:
mkdir mysite
cd mysite
核心概念讲解
什么是框架中的“项目”和“应用”?
- 项目(Project):整个网站的整体配置和结构,相当于一座大楼。
- 应用(App):网站中的某一个功能模块,比如一个博客板块、用户系统、论坛模块等等,相当于大楼里的房间。
通常一个项目包含多个应用。
路由(URL)和视图(View)
- 路由(URL):就是浏览器地址栏里看到的网址,比如
/about/或者/contact/。 - 视图(View):是处理这个网址请求的 Python 函数或类,负责返回给用户的网页内容。
打个比方:
- 路由 = 门牌号
/hello/ - 视图 = 住在那间房子里的人,他决定开门的时候给你说什么话
模板(Template)
模板是用来生成 HTML 页面的文件。它可以让我们的网页看起来更美观,也可以插入动态数据。
例如,一个叫 hello.html 的模板文件,里面可以写 HTML 内容,也可以加入变量,如:
<h1>你好,{{ name }}</h1>
静态文件(Static Files)
静态文件包括网站中使用的图片、CSS、JS 文件等。Django 提供了一套机制来集中管理和加载这些文件。
实战项目:搭建你的第一个 Django 网站
第一步:创建项目
运行命令创建一个新的 Django 项目:
django-admin startproject mysite
这会在当前目录下生成一个名为 mysite 的文件夹,结构如下:
mysite/
├── manage.py # 命令行工具
└── mysite/
├── __init__.py # 表示这是一个 Python 包
├── settings.py # 全局配置
├── urls.py # 整体路由配置
└── wsgi.py # WSGI 配置,用于部署网站
进入项目目录:
cd mysite
第二步:启动开发服务器
运行下面这条命令,启动 Django 自带的本地测试服务器:
python manage.py runserver
然后访问 http://127.0.0.1:8000/,你会看到 Django 默认的欢迎页面。
第三步:创建一个应用
我们来创建一个应用,让它显示 “Hello, World!”
执行命令:
python manage.py startapp hello
这样就会新增一个 hello 文件夹,里面包括几个基础文件。
我们需要把这个应用添加到项目的设置中。
打开 mysite/settings.py 文件,找到 INSTALLED_APPS 列表,在末尾添加:
'hello.apps.HelloConfig',
第四步:编写第一个视图(View)
打开 hello/views.py 文件,修改为:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, World!")
这个视图函数接收一个请求 request,并返回一个字符串响应。
第五步:配置 URL 路由
我们现在要告诉 Django,当用户访问某个地址时,调用刚才写的视图函数。
首先,在 hello 目录中新建一个文件 urls.py,内容如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
这个意思是:当访问 /(即首页)的时候,执行 views.index 函数。
接着,将 hello.urls 注册进主项目的路由中。
打开 mysite/urls.py,修改如下:
from django.urls import include, path
urlpatterns = [
path('hello/', include('hello.urls')),
]
第六步:重新启动服务器并查看效果
再次运行:
python manage.py runserver
访问 http://127.0.0.1:8000/hello/,你就能看到熟悉的 "Hello, World!"!
第七步:再加一个页面:显示当前时间
我们再来添加一个页面,显示当前时间。
修改 hello/views.py:
from django.http import HttpResponse
import datetime
def index(request):
return HttpResponse("Hello, World!")
def show_time(request):
now = datetime.datetime.now()
return HttpResponse(f"当前时间是:{now}")
接着在 hello/urls.py 中添加新路径:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('time/', views.show_time, name='show_time'),
]
重启服务后访问 http://127.0.0.1:8000/hello/time/,你现在就能看到服务器的当前时间啦!
新手常见问题解答
❓Q1:为什么访问不了我的网站?
- 确保你在运行
runserver命令; - 使用正确地址:http://127.0.0.1:8000;
- 如果你修改过端口号,记得改成对应端口,比如
runserver 8080就要访问localhost:8080。
❓Q2:为什么修改代码后没有变化?
Django 开发服务器支持热重载,一般保存代码后页面刷新即可生效。如果不行,尝试重启服务。
❓Q3:出现 ModuleNotFoundError: No module named 'django'
说明没有正确安装 Django,请运行:
pip install django
❓Q4:出现 TemplateDoesNotExist 错误怎么办?
这是由于模板路径配置不正确导致的。我们会在之后的教程中详细讲解模板的使用方法,现在先不用担心。
学习建议:下一步学什么?
完成了第一个 Django 网站之后,你可以继续深入学习这些方向:
模板与静态文件
- 学习如何使用 HTML 模板;
- 加载 CSS 和 JavaScript;
模型(Model)和数据库
- 数据库是怎么连接的;
- 如何定义数据表结构;
- 如何操作数据库增删改查;
管理后台
- Django 自带一个强大的后台管理系统;
- 可以方便地对数据进行可视化管理;
用户注册/登录系统
- Django 已经内置了许多认证功能;
- 学习如何快速接入;
部署上线
- 把网站部署到云服务器;
- 配置 Nginx + Gunicorn;
- 设置数据库和域名绑定;
结语
恭喜你!你已经用 Django 成功搭建了第一个网站!虽然只是个小例子,但它涵盖了 Web 开发的基本流程:创建项目 → 编写视图 → 配置路由 → 启动服务器。
接下来的学习路上,你会发现 Django 的强大之处远远不止如此。只要保持动手实践,就一定能掌握这项实用技能。
祝你学习顺利,码出精彩! 💻🚀

评论 0