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

Shell脚本侠
2025-06-27 14:50
阅读 643

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

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

你可能听说过 Django,它是一个用 Python 编写的 Web框架。简单来说,框架就像搭房子的脚手架,它帮你完成了很多基础工作,让你可以专注于实现自己的功能。

比如你想做一个博客网站、电商网站或者后台管理系统,Django 都是非常合适的选择。它的特点是开发效率高、代码结构清晰、安全性好,非常适合初学者学习和实践。

在这篇文章中,我会手把手带你完成一个简单的 Django 项目:一个名为 Hello World 的网页,这是每个程序员入门时的第一个程序。


第一步:环境准备

第一步:环境准备

在正式开始之前,我们先来安装好必要的开发环境。别担心,步骤不复杂,跟着我一步步做就行。

1. 安装 Python

Django 是基于 Python 的,所以首先要确保你的电脑上已经安装了 Python。

Windows 用户:

前往官网 https://www.python.org/downloads/ 下载安装包。安装时请勾选“Add to PATH”选项。

macOS / Linux 用户:

通常系统自带 Python,但建议使用最新版本。可以用以下命令检查:

python3 --version

如果没有安装,可以在终端运行:

brew install python   # macOS(需要先安装 Homebrew)
sudo apt install python3   # Ubuntu/Debian

2. 安装 pip 工具(用于安装 Django)

pip 是 Python 的包管理器。检查是否安装:

pip3 --version

如果没装,可以用以下方式安装:

  • Windows:安装 Python 时会自动安装。
  • macOS/Linux:
sudo apt install python3-pip

3. 安装 Django

现在我们就可以用 pip 来安装 Django 了:

pip install django

安装完成后,验证一下是否成功:

django-admin --version

如果出现版本号(如 4.2.8),说明安装成功!


第二步:核心概念讲解

第二步:核心概念讲解

API接口文档-2

对于刚接触 Web 开发的人来说,Django 中的一些术语可能会有点陌生。我们先解释几个关键概念,帮助你理解整个项目的结构。

1. 什么是项目(Project)?

一个 Django 项目是整个网站的基础单位。它包含多个应用程序(App),这些 App 共同协作完成不同的功能。

比如一个电商平台的项目里,可能有“用户管理”、“商品展示”、“订单系统”等多个 App。

你可以理解为:项目就像是公司,而应用就是部门。

2. 什么是应用(App)?

应用是最小的功能模块。在 Django 中,通常每个 App 实现一个具体功能。

我们可以根据需求创建多个 App,比如 blog, contact, accounts 等等。

3. 什么是视图(View)、模型(Model)、模板(Template)?

这些是 MVC 架构的一部分,在 Django 中略有不同,叫做 MVT(Model-View-Template):

名词 功能说明
模型(Model) 负责与数据库打交道,定义数据结构
视图(View) 负责处理业务逻辑、接收请求并返回响应
模板(Template) 负责页面显示(HTML 页面)

这个部分你现在不用太深入理解,后面我们会通过代码演示它们的作用。


第三步:实战项目 —— 创建你的第一个 Django 网站

第三步:实战项目 —— 创建你的第一个 Django 网站

我们现在要做的项目很简单:创建一个 Django 项目,并在首页输出一句 "Hello, world!"。

整个过程分为以下几个步骤:

步骤 1:创建项目

打开终端或命令行工具,输入以下命令:

django-admin startproject mysite

这会在当前目录下创建一个名为 mysite 的文件夹,里面是 Django 项目的骨架结构。

进入这个文件夹:

cd mysite

结构如下:

mysite/
├── manage.py             # Django 管理脚本
└── mysite/
    ├── __init__.py
    ├── settings.py       # 项目配置文件
    ├── urls.py           # URL 路由配置
    └── wsgi.py           # 部署相关文件

步骤 2:启动服务器,查看效果

Django 自带了一个轻量级的开发服务器,我们先来看看网站能不能运行。

运行下面的命令:

python manage.py runserver

默认情况下,服务会在本地的 http://127.0.0.1:8000/ 上启动。打开浏览器,访问这个地址,你会看到欢迎页面:

🎉 "It worked!"

这就是你的第一个 Django 网站!

步骤 3:创建你的第一个应用(App)

接下来,我们要创建一个应用,用于显示 “Hello World”。

在终端中运行:

python manage.py startapp hello

这时项目中会新增一个 hello 文件夹,结构如下:

hello/
├── migrations/
├── __init__.py
├── admin.py        # 管理后台配置
├── apps.py         # 应用配置
├── models.py       # 数据模型定义
├── tests.py        # 测试代码
└── views.py        # 视图函数定义

我们需要告诉 Django 这个新应用已经被创建了。打开 settings.py 文件,在 INSTALLED_APPS 列表中添加 'hello'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello',  # 添加这一行
]

步骤 4:编写一个视图函数

视图函数负责处理用户的请求。我们现在在 views.py 中写一个最简单的函数:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world!")

这段代码的意思是:当有人访问我们的网站某个页面时,就返回一句话:“Hello, world!”

步骤 5:配置 URL 路由

为了让用户可以通过网址访问这个页面,我们需要配置 URL 路由。

首先,在 hello 文件夹中新建一个文件 urls.py,内容如下:

from django.urls import path
from . import views

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

接着,在主项目的 urls.py 文件中引入这个应用的路由:

打开 mysite/urls.py,修改成这样:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello.urls')),  # 新增这一行
]

步骤 6:再次启动服务器,测试效果

关闭之前的服务器(按 Ctrl + C),然后重新启动:

python manage.py runserver

访问地址:http://127.0.0.1:8000/

你应该能看到页面上显示:

Hello, world!

恭喜!你已经成功完成了第一个 Django 页面!


第四步:常见问题解答(FAQ)

作为新手,在搭建过程中你可能会遇到一些问题。下面我们列出最常见的几个,并给出解决方法。

Q1:运行 runserver 时报错 “no module named django”

原因:Django 没有正确安装,或者当前环境中没有激活正确的 Python 环境。

解决办法

  • 检查是否安装成功:pip install django
  • 如果用了虚拟环境,请确认是否已激活
  • 使用 which pythonwhere python 查看当前使用的 Python 版本

Q2:页面报错 “Page not found (404)”

原因:URL 地址不对,或者路由没有配置正确。

解决办法

  • 检查浏览器地址是否正确,是否漏掉了斜杠 /
  • 查看 urls.py 是否有拼写错误
  • 检查是否忘记添加 path() 或者 include()

Q3:页面提示 “Invalid HTTP_HOST header”

原因:当你用自定义域名访问时,Django 的安全机制不允许。

解决办法

  • settings.py 中找到 ALLOWED_HOSTS,改为:
ALLOWED_HOSTS = ['localhost', '127.0.0.1']

Q4:如何让网页显示更漂亮的 HTML 页面?

目前我们只是用了纯文本显示,如果你想要显示 HTML 内容,可以这样改:

def index(request):
    return HttpResponse("<h1>Hello, world!</h1><p>欢迎来到我的第一个Django网站。</p>")

不过更好的做法是使用模板引擎,这部分我们会在后续教程中详细讲解。


第五步:下一步学习建议

你已经完成了第一个 Django 项目,这是一个非常好的起点!为了进一步提升技能,你可以继续学习以下内容:

学习路线图建议:

阶段 内容 推荐资源
第一阶段 模板系统、静态文件管理、表单提交 本文后续系列教程、Django官方文档
第二阶段 数据库操作(模型设计、查询、迁移) Django ORM 教程
第三阶段 用户注册登录、权限管理 Django Allauth 插件
第四阶段 前后端分离(REST API) Django REST Framework
第五阶段 项目部署上线(Gunicorn + Nginx) Deploying Django

推荐学习顺序:

  1. 模板(Templates):学习如何渲染 HTML 页面
  2. 表单(Forms):处理用户提交的数据
  3. 模型(Models):连接数据库存储信息
  4. 管理后台(Admin):快速生成后台管理界面
  5. 用户认证(Authentication):用户注册、登录、权限控制

推荐资源:


总结

微服务架构示意图-1

在这篇教程中,我们完成了以下工作:

✅ 学习了 Django 是什么
✅ 安装好了开发环境
✅ 创建了一个 Django 项目和一个应用
✅ 编写了第一个视图函数和 URL 路由
✅ 成功运行了服务器并看到了 “Hello, world!”
✅ 解答了一些常见问题
✅ 给出了后续学习方向

Django 的世界才刚刚开始!希望你能保持热情,继续探索更多的功能和项目。编程之路虽然有时会有困难,但坚持下来你会发现,乐趣无穷!

如果你觉得这篇文章对你有帮助,也欢迎分享给你的朋友,让更多人一起加入 Django 的学习之旅吧!🚀


📌 友情提示:学习过程中遇到问题不要怕,记得善用搜索引擎和社区资源。加油!

评论 0

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