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

一颗后端星球
2025-06-13 20:38
阅读 724

一、开篇:Django是什么?它能做什么?

一、开篇:Django是什么?它能做什么?

欢迎来到Django的世界!如果你是一个完全没有编程经验的初学者,或者刚接触后端开发的小白,那么恭喜你选择了一个非常强大的工具——Django

1. Django 是什么?

Django 是一个用 Python 编写的Web 框架。你可以把它理解为“建房子的工具包”:如果你想盖一座网站的房子,Django 就是你手中的砖头、锤子和水泥。

它内置了很多好用的功能,比如:

  • 用户登录系统
  • 数据库管理工具
  • 后台管理系统(Admin)
  • 表单处理
  • 安全防护机制(防攻击等)

这些功能原本都需要你自己从零写代码来实现,但在 Django 中,很多都已经帮你准备好了,你只需要学会怎么使用它们。

2. Django 能做什么?

Django 适合做各种类型的网站,比如:

  • 博客系统
  • 电商网站
  • 管理后台系统
  • 内容管理系统
  • 社交平台原型

它以 "快速开发" 和 "安全性强" 著称,是很多公司和开发者的选择。


二、环境准备:搭建你的开发环境

二、环境准备:搭建你的开发环境

在开始写代码之前,我们先准备好需要用到的开发工具。别担心,步骤虽然看起来多,但其实都很简单。

1. 安装 Python

Django 是基于 Python 的框架,所以第一步必须安装 Python

Windows 用户:

  1. 打开浏览器,访问 https://www.python.org/downloads/
  2. 点击 “Download Python 3.x.x”
  3. 安装时记得勾选 Add Python to PATH
  4. 安装完成后,在命令行输入以下命令查看是否成功:
    python --version
    

macOS / Linux 用户:

一般系统自带 Python,但建议使用最新版本:

python3 --version

如果没有 Python,请自行通过 Homebrew 或 apt-get 安装。


2. 安装虚拟环境工具 venv

为了不影响系统的全局环境,我们会使用 Python 自带的虚拟环境:

python -m venv myenv

然后激活虚拟环境:

  • Windows:

    myenv\Scripts\activate
    
  • macOS/Linux:

    source myenv/bin/activate
    

你会看到命令行前面多了个 (myenv),说明你现在处于隔离环境中。


3. 安装 Django

接下来安装 Django:

pip install django

安装完成后检查版本:

django-admin --version

如果你看到了类似 4.2.5 的数字,那就表示安装成功了!


✨新手小贴士:为什么要用虚拟环境?

想象你在家里同时装修厨房和客厅,材料不能混在一起。每个项目也应该用独立的环境,避免版本冲突。否则今天这个项目用 Django 4,明天那个项目用 Django 3,可能会出错。


三、核心概念:什么是 MVT?项目和应用有什么区别?

三、核心概念:什么是 MVT?项目和应用有什么区别?

Django 的设计思想有一个很酷的名字:MVT 模式。我们可以把它类比成一家餐厅的运作方式。

1. MVT 架构简介

层级 英文名 中文名 类比
M Model 数据模型 菜单里的食材
V View 视图逻辑 厨师负责炒菜
T Template 页面模板 服务员上菜

也就是说:

  • Model 描述我们要保存的数据结构(比如用户信息、文章内容)
  • View 处理业务逻辑,告诉页面要显示哪些数据
  • Template 是 HTML 页面,用来展示数据

2. 项目与应用的关系

  • 项目(Project):相当于整个网站,包含所有配置和应用。
  • 应用(App):网站中的一个功能模块,比如博客、评论、用户中心等。

举个例子:一个名为 mysite 的项目中可以有多个 App,比如:

  • blog
  • contact
  • usercenter

这就像一家餐厅里可能有前厅、后厨、外卖等多个部门一样。


四、实战项目:一步步创建你的第一个网站

四、实战项目:一步步创建你的第一个网站

我们将用 Django 创建一个简单的个人网站,叫 “Hello World 网站”,只包含一个页面:“主页”。

第一步:创建项目

django-admin startproject helloworldsite

你会得到一个目录结构如下:

helloworldsite/
├── manage.py
└── helloworldsite/
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

解释一下这些文件:

  • manage.py:项目管理脚本,运行命令会用到它
  • settings.py:项目的配置文件
  • urls.py:路由表,告诉 Django 一个网址应该去哪个页面
  • wsgi.py:用于部署网站的接口文件(进阶内容)

第二步:启动开发服务器

进入项目根目录(即 helloworldsite/ 文件夹所在的地方),然后运行:

python manage.py runserver

这时候打开浏览器,访问 http://127.0.0.1:8000,你应该能看到 Django 的默认欢迎页。


第三步:创建一个应用

现在我们要创建一个自己的页面。我们需要新建一个应用:

python manage.py startapp home

此时你会看到新增了一个叫做 home/ 的文件夹。

现在需要把这个 app 注册到项目中。打开 helloworldsite/settings.py,找到 INSTALLED_APPS,添加 'home'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'home',  # 我们新注册的应用
]

第四步:编写视图函数

打开 home/views.py,修改为:

from django.http import HttpResponse

def index(request):
    return HttpResponse("你好!这是我的第一个网页!")

这段代码的意思是:当有人访问某个特定 URL 的时候,就返回一段文字。


第五步:设置 URL 映射

我们需要让 Django 知道哪个 URL 应该调用上面这个视图函数。

首先,在 home/ 目录下创建一个名为 urls.py 的文件,内容如下:

from django.urls import path
from . import views

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

接着,在主项目的 urls.py(也就是 helloworldsite/urls.py)中引入这个应用的 url:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),  # 添加这一行
]

第六步:再次启动服务器并访问页面

执行:

python manage.py runserver

然后打开 http://127.0.0.1:8000,你应该能看到自己写的那句话:“你好!这是我的第一个网页!”

🎉恭喜你完成了第一个 Django 页面!


第七步:添加 HTML 页面(模板)

现在我们让它不只是显示一句话,而是变成一个真正的网页。

  1. home/ 下创建一个目录叫 templates/home/
  2. 在其中新建一个文件 index.html,内容如下:
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>你好世界</title>
</head>
<body>
    <h1>欢迎来到我的网站!</h1>
    <p>这是我的第一个 Django 网页。</p>
</body>
</html>

然后修改 views.py

from django.shortcuts import render

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

注意:为了让模板生效,需要确保在 settings.pyTEMPLATES 配置中 DIRS 设置正确:

TEMPLATES = [
    {
        ...
        'DIRS': [BASE_DIR / 'templates'],  # 这一行要存在或修改为你存放模板的位置
        ...
    },
]

重新刷新页面,你就能看到漂亮的 HTML 页面啦!


五、常见问题解答

❓1. 启动时报错:Port 8000 is in use.

这意味着 8000 端口已经被占用了。你可以换一个端口号:

python manage.py runserver 8080

然后访问 http://127.0.0.1:8080


❓2. 页面提示 TemplateDoesNotExist

请检查:

  • 模板文件路径是否正确
  • 是否配置了 TEMPLATES['DIRS']
  • 是否拼写错误(例如写了 home/Index.html)

❓3. 为什么每次改完代码都要重启服务器?

因为 Django 的自动重载功能默认是开启的,但有时候不会及时生效。你可以直接手动重启服务器:

Ctrl + C  # 停止当前服务
python manage.py runserver

❓4. 如何退出虚拟环境?

很简单,在命令行输入:

deactivate

你将回到系统的全局环境。


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

完成这个教程后,你已经具备了基本的 Django 开发能力。接下来建议沿着以下方向继续学习:

1. 学习数据库操作(Model)

  • 创建数据表(模型)
  • 使用数据库管理数据(增删改查)
  • 使用 Django Admin 管理数据

2. 学习更复杂的模板语法

  • 在模板中循环显示数据
  • 条件判断语句
  • 模板继承(提高复用性)

3. 接触 Forms 表单

  • 用户如何提交信息
  • 表单验证
  • 提交后跳转页面

4. 学习用户认证系统

  • 登录/登出功能
  • 注册功能
  • 权限控制(管理员、普通用户)

5. 了解静态文件管理

  • CSS、JS 文件加载
  • 图片上传与展示
  • 使用 Bootstrap 快速美化页面

结束语

你已经完成了从零搭建一个网站的第一步!Django 不仅功能强大,而且社区资源丰富,遇到问题很容易找到答案。

记住一句话:编程不是背知识点,而是不断动手解决问题。多多尝试、大胆犯错,你就一定会成长。

祝你成为一个优秀的 Django 开发者!


📌 提示:本文所有代码都可以在本地环境中测试运行,建议读者边看边练,效果最佳!

评论 0

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