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

#谢丽
2025-06-29 07:28
阅读 748

一、开篇:Django 是什么,能用来做什么?

一、开篇:Django 是什么,能用来做什么?

想象一下你要开一个餐厅。你得买设备、装修店面、招聘员工、设计菜单……这些事都做完以后才能正式营业。

但如果你有一个现成的厨房模板呢?这个模板不仅帮你准备好厨房设备,还自动安排好厨师和服务员的工作流程,甚至还能处理订单和顾客评价。你只需要专注于你的菜谱和特色菜品就行了。

Django 就是这样一个为开发网页应用准备的“厨房模板”,它是一个基于 Python 的 Web 开发框架(Framework),专门帮助我们快速、高效地搭建功能完整的网站。

用 Django 可以做些什么?

  • 博客网站
  • 在线商城
  • 社交平台
  • 后台管理系统
  • 数据可视化仪表盘

很多大公司比如 Instagram、Mozilla 都在使用 Django,因为它简洁、安全、开发效率高,而且社区支持非常强大。


二、环境准备:搭建开发环境(手把手教学)

二、环境准备:搭建开发环境(手把手教学)

在开始写代码前,我们要先准备好“编程工厂”的环境。以下是详细的安装步骤:

1. 安装 Python

Django 是基于 Python 的,所以你需要先安装 Python。

👉 步骤如下:

  1. 前往官网 https://www.python.org 下载最新版本。
  2. 根据系统选择对应的安装包(Windows/macOS/Linux)。
  3. 安装时注意勾选 Add to PATH(Windows 用户必须勾上!)
  4. 安装完成后,打开终端或命令行工具,输入以下命令验证是否安装成功:
python --version

你会看到类似这样的输出:

Python 3.11.5

2. 创建虚拟环境(Virtual Environment)

为了让不同项目互不影响,我们可以使用 Python 提供的 venv 模块来创建一个隔离的开发环境。

📌 操作步骤:

进入你想保存项目的文件夹,在终端执行以下命令:

python -m venv myenv

然后激活虚拟环境:

  • Windows:
myenv\Scripts\activate
  • macOS/Linux:
source myenv/bin/activate

激活后,命令行前面会出现 (myenv) 表示你现在处于虚拟环境中。

3. 安装 Django

在虚拟环境中使用 pip 安装 Django:

pip install django

安装完成后,你可以用下面这行命令查看安装的 Django 版本:

django-admin --version

正常情况下会输出类似:

4.2.5

🎉 到此为止,环境已经准备好了!


三、Django 核心概念:用最简单的语言解释专业术语

API接口文档-1

学习 Django,有三个核心概念你一定要了解:

1. MVT 架构

这是 Django 使用的设计模式:Model - View - Template

层级 解释说明
Model 数据库部分,负责存储数据(比如用户信息、文章内容)
View 处理逻辑的部分,比如判断登录状态
Template 页面显示部分,也就是 HTML 文件

简单理解就是:

用户请求 -> View(处理)-> Model(取数据)-> Template(展示)

2. URL 路由(URL Routing)

URL 路由就像是快递员,他根据地址把用户请求送到对应的“处理程序”。

例如:

  • 当用户访问 /hello/,路由会把它交给 “欢迎页面” 来处理。
  • 访问 /about/,则交给“关于我们”页面处理。

3. 应用(App)

Django 是模块化结构的,一个大型网站可以分成多个小功能模块,每个模块就是一个 App。比如:

  • BlogApp(博客相关)
  • UserApp(用户管理)
  • ProductApp(商品管理)

每个 App 通常包含自己的 Model、View、Template 等组件。


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

下面我们通过动手实践,搭建一个简单的网站:“Hello World 网站”,包含首页、关于页和一个联系表单。

第一步:创建项目

在你准备好的虚拟环境下运行下面这条命令:

django-admin startproject helloproject

生成的目录结构如下:

helloproject/
├── manage.py        # 管理项目的核心脚本
└── helloproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py   # 项目配置文件
    ├── urls.py       # 总路由文件
    └── wsgi.py

接下来进入项目根目录并启动开发服务器:

cd helloproject
python manage.py runserver

此时你可以访问:

http://127.0.0.1:8000

你会看到 Django 的默认欢迎页面!

第二步:创建应用 app

现在我们要创建一个应用来存放我们的页面。

运行以下命令:

python manage.py startapp helloapp

目录中将多出一个叫 helloapp 的文件夹,结构如下:

helloapp/
├── migrations/
│   └── __init__.py
├── __init__.py
├── admin.py          # 后台管理设置
├── apps.py
├── models.py         # 数据模型定义
├── tests.py          # 测试代码
└── views.py          # 视图函数(页面逻辑)

我们需要把这个新应用添加到项目中去。

打开 helloproject/settings.py,找到 INSTALLED_APPS,新增一行:

'helloapp',

第三步:编写视图(View)

视图就是我们所说的页面逻辑,我们先做一个简单的主页。

打开 helloapp/views.py,修改内容如下:

from django.http import HttpResponse

def home(request):
    return HttpResponse("你好,这是我的第一个 Django 网站!")

def about(request):
    return HttpResponse("这里是关于页")

第四步:配置路由(URL)

现在我们告诉 Django 当用户访问哪个网址应该调用哪个视图函数。

打开 helloapp/urls.py,如果不存在就手动新建这个文件:

from django.urls import path
from . import views

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

然后打开 helloproject/urls.py,把刚刚的应用加入主路由:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('helloapp.urls')),
]

第五步:测试页面

重新运行服务器:

python manage.py runserver

现在可以访问:

你应该能看到两个简单的文字页面了!

第六步:使用模板渲染页面(Template)

目前我们的页面只是一个字符串输出,要让它变成真正的网页,需要使用 HTML 模板。

  1. helloapp 目录下新建文件夹 templates,再在里面建一个 helloapp 子文件夹。

最终结构如下:

helloapp/
└── templates/
    └── helloapp/
        ├── home.html
        └── about.html
  1. 编写 home.html 内容:
<!DOCTYPE html>
<html>
<head>
    <title>首页</title>
</head>
<body>
    <h1>欢迎来到我的 Django 网站!</h1>
    <p>这是一个简单的示例页面。</p>
    <a href="{% url 'about' %}">前往关于页</a>
</body>
</html>

编写 about.html

<!DOCTYPE html>
<html>
<head>
    <title>关于页</title>
</head>
<body>
    <h1>关于本站</h1>
    <p>这是一个用 Django 搭建的小网站示例。</p>
    <a href="{% url 'home' %}">返回首页</a>
</body>
</html>
  1. 修改 views.py 使用模板:
from django.shortcuts import render

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

def about(request):
    return render(request, 'helloapp/about.html')

现在刷新页面,你会发现已经是完整的网页啦!

第七步:增加一个联系页面(Form 表单)

我们来做一个联系表单。

  1. 新建模板文件:helloapp/templates/helloapp/contact.html
<!DOCTYPE html>
<html>
<head>
    <title>联系我们</title>
</head>
<body>
    <h1>联系我们</h1>
    <form method="post">
        {% csrf_token %}
        <label>姓名:<input type="text" name="name"></label><br>
        <label>邮箱:<input type="email" name="email"></label><br>
        <textarea name="message" placeholder="留言内容"></textarea><br>
        <button type="submit">提交</button>
    </form>
</body>
</html>
  1. 添加视图函数 contact()
def contact(request):
    if request.method == 'POST':
        name = request.POST.get('name')
        email = request.POST.get('email')
        message = request.POST.get('message')
        print(f"收到留言:{name}, {email}, {message}")
        return HttpResponse("感谢您的留言!")
    return render(request, 'helloapp/contact.html')
  1. 添加路由:
path('contact/', views.contact, name='contact'),
  1. 在主页添加链接:

修改 home.html

<a href="{% url 'contact' %}">联系我们</a>

现在点击“联系我们”,填写信息并提交后你会看到一条打印信息,并跳转到感谢页面。

🎉 恭喜你,你已经完成了你的第一个 Django 网站!


五、新手常见问题解答(FAQ)

Q1:为什么我访问本地服务器时提示无法连接?

可能原因及解决方案:

  • 没有启动服务器 → 运行 python manage.py runserver
  • 端口被占用了 → 使用 runserver 8001 更换端口
  • 防火墙阻止了连接 → 检查防火墙设置或更换局域网 IP 测试

Q2:为什么 URL 报错 Page Not Found(404)?

  • 检查你的 urls.py 是否写对了路径
  • 检查是否有拼写错误
  • 确保重启服务,有时候更改不会立即生效

Q3:为什么模板不加载?页面报错 TemplateDoesNotExist?

  • 检查模板路径是否正确,必须放在 templates/应用名/
  • 确保 TEMPLATES 设置在 settings.py 中是正确的
  • 注意大小写敏感问题(Linux/macOS 会有影响)

Q4:为什么我无法运行 pip 或 django-admin?

可能是没有激活虚拟环境或者全局 Python 没有正确安装,请尝试:

  • 使用 which python(macOS/Linux)或 where python(Windows)查看路径
  • 重新安装 Django 或 Python

六、下一步学习建议:从基础到进阶

恭喜你已经完成了一个 Django 初体验!接下来你还可以学习以下内容,逐步构建更复杂的网站:

✅ 推荐学习路线:

  1. 数据库操作(ORM)

    • 用 Django 的 ORM 替代原始 SQL 操作
    • 创建数据库模型
    • 增删改查操作
  2. 静态资源与媒体文件

    • 图片、CSS、JS 如何引入
    • 用户上传图片如何处理
  3. 用户登录与权限控制

    • Django 自带的认证系统(Auth)
    • 登录注册界面
    • 管理员后台搭建
  4. 部署上线

    • 把网站发布到真实网络上
    • 使用云服务器(如阿里云、腾讯云)
    • 部署工具:Nginx + Gunicorn
  5. RESTful API 开发

    • 使用 Django REST Framework (DRF)
    • 构建手机 App 对接的接口
  6. 前端互动提升(可选)

    • 配合 JavaScript 框架(如 Vue.js / React)
    • 实现前后端分离架构

七、结语:坚持练习是最有效的学习方式!

学习编程就像学游泳,光看视频不行,最重要的是真正下水游起来!

你现在已经掌握了基本的 Django 使用方法,接下来只要不断练习、尝试不同的功能,就会逐渐成长为一个独当一面的后端工程师!

如果你喜欢这篇文章,欢迎转发给正在学习编程的朋友,一起进步!

🔚【END】

评论 0

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