如何使用 Django 快速搭建网站

2025年10月08日 01:45


Django 是一个高效的 Python Web 框架,采用"电池内置"设计,让开发者能快速构建功能完善的网站。本文将通过清晰的步骤和黑色背景的代码块,带你从零开始搭建 Django 网站。

一、安装 Django

首先确保已安装 Python 3.8+,然后通过 pip 安装 Django:

# 安装最新版 Django
pip install django

# 验证安装
python -c "import django; print(f'Django 版本: {django.get_version()}')"

二、创建项目

2.1 初始化项目结构

# 创建名为 my_django_site 的项目
django-admin startproject my_django_site

# 进入项目目录
cd my_django_site

项目结构说明:

my_django_site/
├── manage.py          # 项目管理工具
└── my_django_site/
    ├── __init__.py
    ├── settings.py    # 项目配置
    ├── urls.py        # 主路由配置
    └── wsgi.py        # 服务器网关接口

2.2 启动开发服务器

# 启动本地服务器(默认端口 8000)
python manage.py runserver

访问 http://127.0.0.1:8000/ 可看到 Django 欢迎页面。

三、创建应用

3.1 生成应用模块

# 创建名为 blog 的应用
python manage.py startapp blog

3.2 注册应用

编辑 my_django_site/settings.py

# 添加应用到配置
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',  # 注册 blog 应用
]

# 配置中文和时区
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

四、编写视图与路由

4.1 定义视图函数

编辑 blog/views.py

from django.http import HttpResponse
from django.shortcuts import render

def index(request):
    """首页视图"""
    return render(request, 'blog/index.html', {
        'title': 'Django 网站首页',
        'content': '这是一个使用 Django 搭建的网站'
    })

def hello(request):
    """示例视图"""
    return HttpResponse("<h1>Hello Django!</h1>")

4.2 配置 URL 路由

创建 blog/urls.py

from django.urls import path
from . import views

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

修改项目主路由 my_django_site/urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),  # 包含 blog 应用的路由
]

五、创建模板文件

5.1 创建模板目录

mkdir -p blog/templates/blog

5.2 编写首页模板

创建 blog/templates/blog/index.html

<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
    <style>
        body { max-width: 900px; margin: 0 auto; padding: 20px; }
    </style>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>{{ content }}</p>
    <a href="/hello/">访问 Hello 页面</a>
</body>
</html>

六、配置管理后台

6.1 创建管理员账户

python manage.py createsuperuser

按提示输入用户名、邮箱和密码。

6.2 定义数据模型

编辑 blog/models.py

from django.db import models
from django.utils import timezone

class Post(models.Model):
    """博客文章模型"""
    title = models.CharField(max_length=200, verbose_name="标题")
    content = models.TextField(verbose_name="内容")
    created_at = models.DateTimeField(default=timezone.now, verbose_name="创建时间")

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = "文章"
        verbose_name_plural = "文章"

6.3 数据库迁移

# 生成迁移文件
python manage.py makemigrations

# 应用迁移
python manage.py migrate

6.4 注册模型到后台

编辑 blog/admin.py

from django.contrib import admin
from .models import Post

# 注册模型,使其在管理后台可见
admin.site.register(Post)

七、实现黑色代码背景的说明

在支持 Markdown 的博客系统中,代码块默认会根据语法高亮主题显示样式。若需确保代码块为黑色背景,可在博客系统中添加自定义 CSS:

/* 黑色背景代码块样式 */
pre {
    background-color: #000;    /* 纯黑色背景 */
    color: #fff;               /* 白色文字 */
    padding: 15px;             /* 内边距 */
    border-radius: 5px;        /* 圆角 */
    font-family: monospace;    /* 等宽字体 */
}

添加后,所有用 ``` 包裹的代码块都会显示为黑色背景,与白色的正文区域形成强烈对比,便于阅读和复制代码。

通过以上步骤,你已完成 Django 网站的基础搭建。接下来可以继续扩展功能,如添加用户系统、评论功能或美化页面样式。