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

智能体日记
2025-06-18 04:43
阅读 371

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

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

你可能已经听说过 Python 是一门非常受欢迎的编程语言。如果你是个完全零基础的新手,也不用担心,我们从头开始。

那什么是 Django 呢?简单来说,它是 Python 中一个非常强大的“工具包”,专门用来帮我们快速创建自己的网站或者 Web 应用。

你可以把 Django 想象成一个“造房子”的工具箱:

  • 里面有钢筋水泥(数据库)
  • 有门窗和楼梯(页面内容)
  • 还有图纸和施工手册(开发文档)

有了 Django,我们就不用从头做起每一个功能,比如注册、登录、发布文章这些常见的网站功能,Django 已经帮你写好了大部分的代码逻辑。

所以,Django 的最大优点就是:快!稳!强! 不管你是想做一个博客网站、电商系统还是后台管理系统,都可以轻松起步。


环境准备:安装开发环境

服务器部署方案-1

环境准备:安装开发环境

在开始写代码之前,我们需要准备好“开发环境”——也就是让你的电脑能够运行 Django 的基本配置。

1. 安装 Python

首先确认你有没有安装好 Python。

📌 小提示:Django 需要 Python 3.8 及以上版本支持。

打开你的命令行工具(Windows 上是 CMD 或 PowerShell,Mac/Linux 是 Terminal),输入:

python --version

如果显示类似 Python 3.10.x 的版本号,恭喜你已经有了 Python!

如果没有安装,请前往 官网下载 最新的稳定版本,并按照提示安装即可。


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

为了不让全局的 Python 包混在一起,我们会创建一个“虚拟环境”。

在命令行中输入以下命令:

# 创建项目文件夹并进入
mkdir mysite
cd mysite

# 创建虚拟环境(Windows):
python -m venv venv

# Mac/Linux:
python3 -m venv venv

然后激活虚拟环境:

  • Windows

    venv\Scripts\activate
    
  • Mac/Linux

    source venv/bin/activate
    

激活后你会看到命令行前出现了 (venv) 字样,表示你现在处于虚拟环境中。


3. 安装 Django

接下来就可以安装 Django 了:

pip install django

安装完成后检查一下版本:

django-admin --version

正常会输出类似 4.2.x 的数字。


核心概念:Django 的三大核心模块

核心概念:Django 的三大核心模块

Django 主要有三个部分你需要了解清楚,它们分别是:

✅ 模型(Model)

模型就相当于你的网站的“数据库蓝图”。比如说你要建一个博客网站,你需要知道每篇文章有哪些信息:标题、正文、发布时间等等。

举个例子:你可以把它想象为一张表格,每一列代表不同的信息类型。

# models.py 示例
from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    pub_date = models.DateTimeField('发表时间')

    def __str__(self):
        return self.title

✅ 视图(View)

视图决定你在浏览器里看到的内容。你可以理解为一个“处理请求”的函数或类。

举个例子:当用户访问 /blog/1/,视图就会查出对应的博客文章并返回给用户。

# views.py 示例
from django.shortcuts import render
from .models import Article

def article_detail(request, article_id):
    article = Article.objects.get(id=article_id)
    return render(request, 'blog/article_detail.html', {'article': article})

✅ 模板(Template)

模板就是网页的样子,是 HTML 加上一点点 Python 动态内容。

想象你写了一个 HTML 文件,但里面可以嵌入动态数据。

例如:article_detail.html 模板如下:

<h1>{{ article.title }}</h1>
<p>{{ article.content }}</p>
<p>发布时间:{{ article.pub_date }}</p>

📌 总结一下三者的关系

  • 用户发送请求 → 路由器找到对应视图
  • 视图去模型里取数据
  • 模型调用数据库 → 获取结果
  • 视图渲染模板,生成 HTML 页面并返回给用户

就像这样一条线串起来。


实战项目:跟着教程搭建一个简单的博客网站

实战项目:跟着教程搭建一个简单的博客网站

现在我们来一步步完成一个简单的博客网站,目标是实现以下功能:

  • 显示所有文章列表
  • 查看某一篇文章的详细内容

第一步:创建 Django 项目与应用

在命令行中执行:

# 创建项目
django-admin startproject mysite .

# 创建应用(叫 blog)
python manage.py startapp blog

这时候你会看到项目结构像这样:

mysite/
├── manage.py
├── mysite/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── blog/
    ├── migrations/
    ├── __init__.py
    ├── admin.py
    ├── apps.py
    ├── models.py
    ├── tests.py
    └── views.py

接下来我们要启用 blog 应用。修改 mysite/settings.py

找到 INSTALLED_APPS,添加 'blog.apps.BlogConfig' 到列表中:

INSTALLED_APPS = [
    ...
    'blog.apps.BlogConfig',
]

第二步:定义模型(Model)

打开 blog/models.py,将内容改成前面提到的 Article 模型。

保存之后,在命令行运行:

python manage.py makemigrations
python manage.py migrate

这两句话的作用是:根据你写的模型生成数据库表结构。


第三步:添加一些测试文章

Django 提供了一个内置的后台管理系统,我们可以手动添加文章。

在命令行运行:

python manage.py createsuperuser

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

启动服务器:

python manage.py runserver

在浏览器打开 http://127.0.0.1:8000/admin

使用你刚创建的账号登录后,点击 “Add” 添加几篇文章。


第四步:设置路由(URL)

为了让我们的页面可以被访问到,需要设置 URL 路由规则。

修改 blog/urls.py,如果没有请新建这个文件,内容如下:

from django.urls import path
from . import views

urlpatterns = [
    path('', views.article_list, name='article_list'),
    path('<int:article_id>/', views.article_detail, name='article_detail'),
]

再修改项目的主路由文件 mysite/urls.py

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

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

第五步:编写视图(Views)

回到 blog/views.py,添加两个视图函数:

from django.shortcuts import render
from .models import Article

def article_list(request):
    articles = Article.objects.all()
    return render(request, 'blog/article_list.html', {'articles': articles})

def article_detail(request, article_id):
    article = Article.objects.get(id=article_id)
    return render(request, 'blog/article_detail.html', {'article': article})

第六步:创建模板(Templates)

blog 文件夹下新建 templates/blog 目录:

blog/
└── templates/
    └── blog/
        ├── article_list.html
        └── article_detail.html

article_list.html 示例:

<h1>我的博客</h1>

<ul>
{% for article in articles %}
    <li><a href="/blog/{{ article.id }}/">{{ article.title }}</a></li>
{% endfor %}
</ul>

article_detail.html 示例:

<h1>{{ article.title }}</h1>
<p>{{ article.content }}</p>
<p>发布时间:{{ article.pub_date }}</p>

第七步:运行并查看效果!

再次运行服务:

python manage.py runserver

打开 http://127.0.0.1:8000/blog/,你会看到文章列表;点击链接可以看到具体文章内容。

🎉 恭喜你完成了第一个 Django 博客网站!


常见问题解答

数据流转过程-2

❓ 1. 我遇到报错 “no module named django”,怎么办?

确保你是在虚拟环境中安装的 Django:

# 确保你已经激活了虚拟环境
which pip  # Mac/Linux 看路径是否带 venv
where pip  # Windows

# 再次尝试安装
pip install django

❓ 2. 修改了 model 后为什么没有生效?

记得每次修改完模型都要运行下面两条命令:

python manage.py makemigrations
python manage.py migrate

否则数据库不会自动更新哦。


❓ 3. 打不开网页,显示 404?

请检查 URL 是否正确,以及 urls.py 中的路径匹配是否准确,大小写也要注意。


❓ 4. 为什么我看不到后台管理的 Blog 模块?

因为你还未注册模型。

打开 blog/admin.py,添加如下代码:

from django.contrib import admin
from .models import Article

admin.site.register(Article)

重新登录后台即可看到文章模型。


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

既然你已经掌握了基本知识,接下来可以学习的方向包括:

🔧 1. 使用模板继承优化页面结构

学会使用 {% extends %} 实现多页面复用头部、尾部等部分,避免重复写代码。

🎨 2. 学习 CSS 和前端样式美化页面

推荐结合 Bootstrap 或 Tailwind CSS,让页面看起来更专业。

📩 3. 学习表单操作(Form)

比如如何让用户提交新文章,这是构建交互式网站的基础。

🔐 4. 实现用户登录注册系统

Django 自带了认证模块,能帮助你快速搭建用户体系。

🛠 5. 部署你的网站上线

可以尝试部署到免费平台如 PythonAnywhere、Railway、Render,让你的网站真正可访问。


结语

本教程带着你一步步实现了第一个 Django 网站,虽然只是一个小小的博客,但这正是你成为后端开发者的重要起点。

记住一句话:“写得多,错得多,改得快,学得快。”

保持耐心,不断动手实践,你一定能掌握 Django 的更多高级技能!

如果你喜欢这篇文章,欢迎收藏+关注,我会持续更新更多实用的 Python 教程。🚀

评论 0

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