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

远方的接口
2025-06-14 08:15
阅读 262

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

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

大家好!如果你是编程新手,可能听说过“Python”这个语言,但对 Django 还不太熟悉。别担心,这一章我们就来简单聊聊。

Django 简介

Django 是一个用 Python 编写的高级 Web 框架(Web Framework),专门用来帮助开发者快速搭建功能强大的网页应用或网站后端服务。你可以把它想象成盖房子的“脚手架” —— 有了它,你就不用从零开始打地基,而是可以专注于设计和装修房子本身。

Django 能干什么?

  • 做博客系统、电商网站、企业官网
  • 开发用户注册与登录系统
  • 实现后台管理系统(比如内容发布平台)
  • 提供 API 接口,给 App 或其他系统调用
  • 数据库建模 + 快速生成管理界面

说白了,只要你需要在浏览器里访问一个由服务器提供数据支持的网页,那 Django 就能派上用场!


环境准备:配置开发环境(超详细)

环境准备:配置开发环境(超详细)

在这一步中,我们要准备好写代码的“工具箱”。别担心,过程其实非常简单,就像安装游戏一样一步一步来就好。

步骤1:安装 Python

首先确保你的电脑已经安装了 Python 3.8+。打开终端(Windows 下可以用 CMD 或 PowerShell)输入:

python --version

如果看到类似 Python 3.10.6 的字样就说明安装好了。

⚠️ 如果没有安装,请到 Python 官网 下载并安装。

步骤2:安装 pip

Pip 是 Python 的包管理器,相当于软件商店。通常安装完 Python 后会自动附带 pip。检查方式:

pip --version

如果有输出结果,说明 OK。否则请百度搜索 “手动安装 pip” 查看具体方法。

步骤3:创建项目目录

我们先为自己新建一个项目文件夹,比如叫 my_website

mkdir my_website
cd my_website

在 Windows 上也可以直接使用资源管理器操作。

步骤4:安装虚拟环境 virtualenv

为了避免不同项目依赖冲突,我们需要为每个项目建立一个独立的小空间。这里我们可以使用 virtualenv 来实现。

pip install virtualenv

然后进入刚才创建的项目目录,创建虚拟环境:

virtualenv venv

激活虚拟环境(Windows):

.\venv\Scripts\activate.bat

Mac/Linux 用户激活命令:

source venv/bin/activate

✅ 成功激活后,命令行前会出现 (venv) 提示

步骤5:安装 Django

现在我们可以在虚拟环境中安装 Django 了:

pip install django

验证是否安装成功:

django-admin --version

如果出现版本号说明安装完成!


核心概念:Django 到底有哪些关键词?

核心概念:Django 到底有哪些关键词?

学习任何新技能,理解基本术语都非常关键。下面我会用最通俗的语言,介绍几个你在接下来教程中会频繁遇到的核心概念。

🌐 什么是项目(Project)?

项目就是整个网站的整体结构,类似于一本书的框架。你可以在这个项目里包含多个小模块,这些模块叫做 App

🧩 什么是 App?

App 是项目中的一个小功能模块。举个例子:

  • 你的网站有博客文章板块 → 叫做 blog
  • 有用户评论系统 → 叫做 comments
  • 还有一个联系我们页面 → 叫做 contact

每一个 App 都可以单独开发、管理和测试。

📂 什么是模型(Model)?

模型是用来描述数据结构的。你可能会问:那跟数据库有什么关系?

很简单!模型就相当于告诉 Django:“我打算存什么样的数据”,然后 Django 自动帮你创建对应的数据库表格。

举例:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

上面这个模型定义了一个博客文章的数据结构。

🕹 视图(Views)

视图就像是大脑指挥官。它负责接收用户的请求(比如访问 /articles/ 页面),处理一些逻辑(读取数据库数据、计算等),然后返回响应(如 HTML 页面、JSON 数据)。

from django.http import HttpResponse

def home(request):
    return HttpResponse("欢迎来到我的首页!")

这段代码表示当用户访问首页时,就显示一句话。

📄 模板(Template)

模板是一个 HTML 文件,但支持变量和动态逻辑。它让我们的网页更美观,并且可以灵活展示不同的内容。

例如 home.html

<!DOCTYPE html>
<html lang="en">
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ welcome_msg }}</h1>
</body>
</html>

然后在 view.py 中渲染这个模板:

from django.shortcuts import render

def home(request):
    context = {
        'title': '我的主页',
        'welcome_msg': '欢迎访问本站点'
    }
    return render(request, 'home.html', context)

🗺 URL路由(URL Routing)

URL 路由就像是导航地图。当你在浏览器输入一个网址,比如 http://localhost:8000/about/,Django 会根据路由配置找到对应的函数去执行。

urls.py 里添加:

from django.urls import path
from . import views

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

实战项目:跟着一步步搭建你的第一个网站

终于到了动手实践的部分啦!我们来一起构建一个简单的个人博客网站!

第一步:创建项目

回到终端,确保已激活虚拟环境后运行:

django-admin startproject blog_project
cd blog_project

这样你就创建了一个名为 blog_project 的项目。

项目结构如下:

blog_project/
├── manage.py
└── blog_project/
    ├── settings.py
    ├── urls.py
    ├── wsgi.py
    └── asgi.py

第二步:启动服务器测试一下

运行以下命令,启动本地开发服务器:

python manage.py runserver

接着打开浏览器访问 http://localhost:8000,你应该可以看到 Django 默认的欢迎页,说明一切正常!

第三步:创建第一个 App(blog)

继续在终端中执行:

python manage.py startapp blog

现在你会看到多了一个名叫 blog 的文件夹。

别忘了在 settings.py 中注册这个 App:

INSTALLED_APPS = [
    ...
    'blog',
]

第四步:创建数据模型(Article)

打开 blog/models.py,添加如下模型:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

保存后,在终端运行以下命令来生成数据库表:

python manage.py makemigrations
python manage.py migrate

第五步:创建超级管理员账户

为了可以使用内置的后台管理系统,我们需要创建一个管理员账号:

python manage.py createsuperuser

按照提示输入用户名、邮箱、密码即可。

第六步:注册 Admin 后台

为了让管理员能看到文章管理界面,需要修改 blog/admin.py

from django.contrib import admin
from .models import Article

admin.site.register(Article)

现在重启服务器:

python manage.py runserver

访问 http://localhost:8000/admin/,用刚刚创建的账号登录进去,就能看到 Articles 管理界面啦!

第七步:编写视图和模板展示文章

首先,在 blog/views.py 写一个视图函数:

from django.shortcuts import render
from .models import Article

def article_list(request):
    articles = Article.objects.all().order_by('-pub_date')
    return render(request, 'article_list.html', {'articles': articles})

然后在 blog/templates/article_list.html 创建该模板文件:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>所有文章</title>
</head>
<body>
    <h1>我的文章列表</h1>
    {% for article in articles %}
        <div style="margin-bottom: 20px;">
            <h2>{{ article.title }}</h2>
            <p>{{ article.content|truncatewords:30 }}</p>
            <small>发表时间:{{ article.pub_date }}</small>
        </div>
    {% empty %}
        <p>暂时还没有文章哦~</p>
    {% endfor %}
</body>
</html>

最后配置 URL,在 urls.py 添加路径:

from django.urls import path
from blog import views

urlpatterns = [
    path('articles/', views.article_list, name='article_list'),
]

刷新浏览器访问 http://localhost:8000/articles/,就可以看到你刚刚添加的文章啦!


常见问题解答

缓存策略对比-1

刚开始学习总是会碰到一些莫名其妙的问题,下面是一些常见的疑难杂症和解决方案:

❓ Q1:安装 Django 失败怎么办?

✅ 解决方案:

  • 确保网络通畅,有些地区需要科学上网
  • 使用国内源安装:
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

❓ Q2:启动服务器时报错“无法连接数据库”

✅ 解决方案:

  • 可能因为未正确运行 migrations,请执行:
python manage.py makemigrations
python manage.py migrate

❓ Q3:模板找不到,报错 TemplateDoesNotExist

✅ 解决方案:

  • 检查模板路径是否正确放置于 templates 文件夹内
  • 确保 Django 找得到模板目录:在 settings.py 中查看是否有如下设置:
TEMPLATES = [
    {
        ...
        'DIRS': [BASE_DIR / "templates"], # 加入这行
        ...
    }
]

❓ Q4:页面不刷新,改了代码没变化

✅ 解决方案:

  • 尝试按 Ctrl + F5 强制刷新浏览器缓存
  • 如果是在运行服务器过程中做了代码修改,一般会自动重载

学习建议:下一步该学什么?

完成了本教程后,恭喜你迈出了成为 Web 开发者的第 一大步

但路还很长,接下来建议你尝试:

  • 学习用户注册与登录功能(Django Auth)
  • 掌握静态文件和媒体文件配置
  • 使用 Bootstrap 美化前端模板
  • 搭建前后端分离项目(RESTful API)
  • 部署上线自己的网站(比如使用 Nginx + Gunicorn)

当然也别忘了持续练习项目实战,这样才能真正掌握 Django 的精髓。


结语

通过这篇图文结合、循序渐进的《Django 入门教程》,你现在应该已经掌握了如何搭建一个基于 Django 的简易网站,并理解了 MVC 架构下的核心模块。

记住,编程最忌讳的就是只看不动手。一定要自己敲一遍,跑一跑代码。遇到问题别怕,多 Google,多提问,你一定能越来越熟练!

加油!未来的 Django 高手正在诞生 💪✨

评论 0

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