凌峰创科服务平台

Django如何搭建Python服务器?

核心概念:Django 是什么?

Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计,当你用 Django 搭建服务器时,你实际上是在构建一个遵循 MVT 架构模式的应用程序。

Django如何搭建Python服务器?-图1
(图片来源网络,侵删)

MVT 架构详解:

想象一个在线商店的订单处理流程:

  1. Model (模型层 - M): 负责数据结构和业务逻辑。

    • 作用: 定义你的数据是什么样的,一个 Order 模型会有哪些字段(订单号、用户、商品列表、总价、下单时间等),它还负责与数据库交互(增、删、改、查)。
    • 类比: 数据库的“设计图纸”。
  2. View (视图层 - V): 负责业务逻辑和流程控制。

    Django如何搭建Python服务器?-图2
    (图片来源网络,侵删)
    • 作用: 接收来自用户(浏览器)的请求,调用 Model 层获取或修改数据,然后将处理结果交给 Template 层渲染成 HTML 页面,最后返回给用户,它是一个“中间人”,连接了数据和展示。
    • 类比: 商店的“店长”,他接收顾客(用户)的需求,查看库存(Model),决定如何处理,然后告诉店员(Template)如何打包商品(渲染页面)。
  3. Template (模板层 - T): 负责展示层的呈现。

    • 作用: 一个含有占位符的 HTML 文件,视图层会把真实的数据填充到这些占位符中,最终生成用户看到的完整网页。
    • 类比: 商品包装盒的设计图,上面写着“[顾客姓名]”、“[商品名称]”等,店长会把具体信息填上去。

工作流程总结:

用户请求 -> URL 路由 -> View (视图) -> Model (模型) -> 数据库 -> Model (返回数据) -> View (处理数据) -> Template (模板) -> 生成 HTML -> 返回给用户


动手实践:搭建你的第一个 Django 项目

我们将创建一个简单的“待办事项”应用。

Django如何搭建Python服务器?-图3
(图片来源网络,侵删)

步骤 1: 环境准备

  1. 安装 Python: 确保你的电脑上安装了 Python (推荐 3.8+ 版本)。
  2. 安装 Django: 打开终端或命令行,使用 pip 安装 Django。
    pip install django

步骤 2: 创建项目和 App

Django 的项目结构是分层的,一个项目可以包含多个应用

  1. 创建项目: django-admin 是 Django 的命令行工具。

    # mysite 是你的项目文件夹名
    django-admin startproject mysite
  2. 进入项目目录:

    cd mysite
  3. 创建 App: App 是一个功能模块,我们的待办事项就是一个 App。

    # todos 是我们的应用名
    python manage.py startapp todos

现在你的项目结构应该像这样:

mysite/
├── manage.py
├── mysite/              # 项目配置文件
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── todos/               # 我们创建的 App
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── migrations/
    ├── models.py
    ├── tests.py
    └── views.py

步骤 3: 定义数据模型

打开 todos/models.py,定义我们的待办事项模型。

# todos/models.py
from django.db import models
class TodoItem(models.Model):= models.CharField(max_length=200)  # 标题,最大长度200
    completed = models.BooleanField(default=False) # 是否完成,默认为否
    created_at = models.DateTimeField(auto_now_add=True) # 创建时间,自动记录
    def __str__(self):
        return self.title

步骤 4: 注册 App 并创建数据库表

  1. 注册 App: 打开 mysite/settings.py,在 INSTALLED_APPS 列表中添加我们的 todos App。

    # mysite/settings.py
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'todos',  # 添加这一行
    ]
  2. 创建数据库迁移文件: Django 会根据你的模型生成数据库操作指令。

    python manage.py makemigrations
  3. 执行迁移: 真正地在数据库中创建表。

    python manage.py migrate

步骤 5: 创建视图和 URL

  1. 创建视图: 打开 todos/views.py,编写一个简单的视图来显示所有待办事项。

    # todos/views.py
    from django.shortcuts import render
    from .models import TodoItem
    def todo_list(request):
        # 从数据库获取所有待办事项
        todos = TodoItem.objects.all()
        # 将数据传递给模板
        context = {
            'todos': todos
        }
        # 渲染模板并返回给用户
        return render(request, 'todos/todo_list.html', context)
  2. 配置 URL: 让 URL 知道当访问某个地址时,应该调用哪个视图。

    • 在 App 内部创建 URL 配置文件 todos/urls.py

      # todos/urls.py
      from django.urls import path
      from . import views
      urlpatterns = [
          # 当访问根路径 / 时,调用 views.todo_list 函数
          path('', views.todo_list, name='todo_list'),
      ]
    • 在项目的主 URL 配置文件 mysite/urls.py 中引入 App 的 URL。

      # mysite/urls.py
      from django.contrib import admin
      from django.urls import path, include  # 别忘了导入 include
      urlpatterns = [
          path('admin/', admin.site.urls),
          path('todos/', include('todos.urls')), # 所有 /todos/ 开头的请求,都交给 todos.urls 处理
      ]

步骤 6: 创建模板

  1. 创建模板目录: 在 todos App 下创建 templates/todos/ 目录。

    # 在 mysite 目录下执行
    mkdir -p todos/templates/todos
  2. 创建模板文件: 在 todos/templates/todos/ 目录下创建 todo_list.html

    <!-- todos/templates/todos/todo_list.html -->
    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>我的待办事项</title>
        <style>
            body { font-family: sans-serif; margin: 2em; }
            .todo-item { padding: 10px; border: 1px solid #ccc; margin-bottom: 5px; }
            .completed { text-decoration: line-through; color: gray; }
        </style>
    </head>
    <body>
        <h1>我的待办事项</h1>
        <ul>
            <!-- 遍历视图传来的 todos 数据 -->
            {% for todo in todos %}
                <li class="todo-item {% if todo.completed %}completed{% endif %}">
                    {{ todo.title }} (创建于: {{ todo.created_at }})
                </li>
            {% empty %}
                <li>暂无待办事项</li>
            {% endfor %}
        </ul>
    </body>
    </html>

步骤 7: 运行开发服务器

一切就绪!让我们启动 Django 自带的开发服务器。

python manage.py runserver

你会看到类似下面的输出:

Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 10, 2025 - 15:45:00
Django version 4.2, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

**打开浏览器,访问 `http://127.

分享:
扫描分享到社交APP
上一篇
下一篇