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

南城开发者
2025-06-23 05:34
阅读 761

开篇:Django是什么?我们用它能做什么?

开篇:Django是什么?我们用它能做什么?

你有没有想过,如何用 Python 来创建一个属于自己的网站?
比如一个博客、论坛、后台管理系统、甚至电商网站。其实这些都可以通过 Django 轻松实现!

Django 是一个使用 Python 编写的强大而灵活的 Web 框架(Web Framework),它可以帮你快速构建功能完善的网站。

你可以把它想象成盖房子的“脚手架”:有了 Django,你就不用从头搭地基和屋顶,而是可以直接在它提供的结构上装修你的网站内容。

Django 的特点:

  • 高效开发,节省大量重复工作
  • 内置用户认证、后台管理等模块
  • 自带开发服务器,方便测试
  • 支持数据库操作(比如MySQL、PostgreSQL)
  • 安全性高,适合企业级开发

在这篇文章中,我们将一步一步带你完成一个最简单的网站项目——一个用于显示首页内容的 “Hello World 网站”。


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

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

要开始写代码,我们先要准备好我们的“工作台”,也就是开发环境。

步骤1:安装Python

确保你电脑上有安装 Python。如果没有,请到官网下载安装包:

https://www.python.org/downloads/

安装完成后,在终端输入以下命令查看是否成功安装 Python:

python --version

或(macOS/Linux):

python3 --version

输出类似:

Python 3.9.6

表示安装成功 ✅


步骤2:安装Django

使用 Python 的 pip 工具安装 Django:

pip install django

检查 Django 是否安装成功:

django-admin --version

输出类似:

4.2.5

说明安装好了 ✅


步骤3:选择代码编辑器

推荐使用免费且功能强大的 VS Code(Visual Studio Code):

官网地址:https://code.visualstudio.com/

也可以使用 PyCharm(专业版对Django支持更好)或其他编辑器。

安装好后,打开即可开始写代码了!


二、Django核心概念速通讲解

二、Django核心概念速通讲解

虽然我们是初学者,但理解一些基本术语会帮助你更轻松地编写程序。

1. 什么是框架?

就像搭积木一样,Django为我们提供了很多已经写好的“积木块”(如数据库连接、登录系统等),我们可以直接拿过来用,不需要自己从头造轮子。


2. 项目(Project) vs 应用(App)

  • Project(项目):整个网站的大框架,包含所有配置文件、App和其他全局设置。
  • App(应用):项目中的某个具体功能模块,比如“博客文章展示”、“用户评论区”。

比如,一个商城网站可能有多个 App:

  • 商品展示模块(product)
  • 用户登录注册模块(accounts)
  • 订单处理模块(orders)

3. MVT架构简介(Model - View - Template)

Django 使用 MVT 模式 构建 Web 应用,和 MVC 类似,但我们只关心这三部分:

组件 含义 示例
Model 数据模型,负责与数据库交互 如文章表、用户表
View 控制器,处理请求并返回响应 接收到用户访问时返回网页内容
Template 前端页面模板,显示给用户看的内容 HTML 文件

4. URL路由(Routing)

URL 就是你浏览器输入的网址,比如:

http://localhost:8000/blog/

我们要告诉 Django,当用户访问某个 URL 时,应该调用哪个函数去处理这个请求,并返回什么内容。


三、实战:创建你的第一个Django网站!

接下来,我们一起来做一个小项目——“个人首页网站”。

最终效果是一个网页,当你访问 http://localhost:8000 时看到如下内容:

欢迎来到我的网站!
这是首页内容。

Step 1:创建项目(project)

在你想要存放项目的文件夹中打开终端,运行下面命令来创建一个新的 Django 项目:

django-admin startproject mywebsite

执行完后,你会得到一个名为 mywebsite 的文件夹,里面就是项目的初始文件结构。

进入项目目录:

cd mywebsite

看看项目结构:

mywebsite/
├── manage.py          # 管理工具脚本
└── mywebsite/
    ├── __init__.py    # 标识这个目录为Python包
    ├── settings.py    # 所有配置文件
    ├── urls.py        # 存放网站的所有链接路由规则
    └── wsgi.py        # WSGI接口文件,部署用

Step 2:运行开发服务器

Django 提供了一个本地开发服务器,非常适合调试。

运行下面命令启动服务器:

python manage.py runserver

你会看到提示信息:

Starting development server at http://127.0.0.1:8000/

现在在浏览器中打开 http://127.0.0.1:8000,你会看到 Django 默认的欢迎页:

It worked!
Congratulations on your first Django-powered page.

这说明你的项目已经跑起来了 ✔️


Step 3:创建 App(应用)

我们来新建一个叫 pages 的应用,用来管理网页内容。

在终端中输入:

python manage.py startapp pages

此时会出现一个 pages 文件夹,里面有如下结构:

pages/
├── admin.py       # 后台管理相关
├── apps.py        # 应用配置类
├── models.py      # 数据库模型定义
├── views.py       # 页面逻辑处理
├── urls.py        # 本App的URL映射
└── templates/     # 放HTML页面的地方(我们后面加)

⚠️ 注意:新创建的 app 默认不会被自动启用,需要手动添加到项目的 settings.py 中。

打开 mywebsite/settings.py 找到 INSTALLED_APPS 列表,添加 'pages.apps.PagesConfig'

INSTALLED_APPS = [
    ...
    'pages.apps.PagesConfig',
]

Step 4:创建视图(View)

视图的作用很简单:接收请求 → 返回页面内容。

打开 pages/views.py,修改如下:

from django.http import HttpResponse

def home_page(request):
    return HttpResponse('欢迎来到我的网站!<br>这是首页内容。')

这段代码的意思是:当有人访问网站首页时,显示两句话。


Step 5:配置URL路由

接下来告诉 Django 当用户访问根路径 / 时,调用哪个 view 函数。

先创建 pages/urls.py 文件,写入如下代码:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home_page, name='home'),
]

然后修改主项目的 urls.py(即 mywebsite/urls.py)导入该文件:

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

urlpatterns = [
    path('', include('pages.urls')),  # 把 pages 下的 url 映射到根路径
    path('admin/', admin.site.urls),
]

Step 6:再次运行服务器,测试网页

重启服务器(按 Ctrl + C 停止服务,再重新运行):

python manage.py runserver

刷新浏览器,访问 http://127.0.0.1:8000,你应该能看到刚刚写的文字内容:

欢迎来到我的网站!
这是首页内容。

太棒啦!你已经完成了第一个 Django 网站 🎉🎉


Step 7:升级为HTML网页(Template)

上面只是纯文本,不够好看 😂

我们来改成 HTML 页面。这才是真正的网页内容展示方式!

步骤1:创建 templates 文件夹

pages 文件夹下新建一个名为 templates/pages/ 的目录,结构如下:

pages/
└── templates/
    └── pages/
        └── home.html

创建一个文件 home.html,内容如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>我的网站</title>
</head>
<body>
    <h1>欢迎来到我的网站!</h1>
    <p>这是首页内容。</p>
</body>
</html>

步骤2:修改视图返回模板

回到 views.py,修改如下内容:

from django.shortcuts import render

def home_page(request):
    return render(request, 'pages/home.html')

render() 函数会查找模板目录下的指定 HTML 文件,并返回完整的网页内容。

步骤3:重启服务器,刷新网页

这时候刷新页面,你会看到漂亮的 HTML 页面!


四、常见问题解答(FAQ)

Q1:报错:“The included URLconf does not appear to have any patterns in it.”

A:请确认你在 pages/urls.py 中写了正确的 urlpatterns 列表,而且没有忘记 path('', ...) 的括号和逗号。


Q2:运行服务器出现 Database error 或 Migration 错误?

A:第一次运行项目时可以先无视这个错误,或者运行初始化数据库命令:

python manage.py migrate

Django 会自动创建数据库文件。


Q3:网页无法显示,显示空白页面怎么办?

A:可能是浏览器缓存导致,请尝试更换窗口或清除缓存。另外也可能是服务器没启动成功,可检查命令行是否有报错信息。


Q4:模板找不到 TemplateDoesNotExist 错误?

A:请确认模板目录名称是否是 templates 并且放在了正确的 App 目录下(例如:pages/templates/pages/home.html)。此外,也要保证 TEMPLATES 设置已正确加载模板目录。


五、学习建议:下一步怎么学?

恭喜你完成了 Django 的入门之旅!你现在可以:

🔍 继续学习以下进阶知识:

  1. 模板继承:打造多页面统一风格网站(Base.html+Page.html)
  2. 模型 Model:把数据存储到数据库里(如博客文章、用户资料)
  3. 表单 Form:让用户提交数据,比如留言、注册等功能
  4. 用户认证 User Auth:添加登录注册功能
  5. 静态资源 Static Files:引入 CSS、JS 和图片美化网站
  6. 部署上线:将网站发布到网上

📘 推荐学习资源:

  • 官方文档:https://docs.djangoproject.com
  • 免费课程:B站搜索“Django 入门”有许多新手视频
  • 书籍推荐:《Django For Beginners》《流畅的Python》相关章节
  • 项目实战:试着做一个简易博客、图书管理系统或投票小程序

总结

这篇文章我们一起完成了:

  • 安装 Python 和 Django
  • 创建了一个新的网站项目
  • 添加了视图和URL
  • 编写了 HTML 页面作为首页
  • 了解了模板的使用方法
  • 解决了一些常见的新手问题

只要你跟着做一遍,就已经迈出成为 Django 开发者的第一步!


继续努力,下一个酷炫网站就是出自你手!🌟

如果你喜欢本教程,欢迎点赞收藏,下次我将带来更多关于 Django 进阶内容,比如如何添加后台管理、创建数据库模型等等~

评论 0

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