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

机灵猴
2025-06-21 22:51
阅读 738

适合完全没有基础的新手,图文并茂、循序渐进地教你用Django搭建一个属于自己的网站


一、开篇:Django是什么?我能用它做什么?

微服务架构示意图-1

一、开篇:Django是什么?我能用它做什么?

你可能听说过一些很酷的网站,比如Instagram、Pinterest、NASA官网等等。它们背后其实都使用了同一个强大的Web开发框架——Django

那么,Django到底是什么?

Django 是一个基于 Python 的 Web开发框架(Framework),专门用来帮助我们快速构建功能强大的网站。

简单来说,你可以把 Django 当作是一个“网页工厂”。它提供了许多现成的工具和模块,让你不用从零开始造轮子,就能快速搭建包括用户登录、数据库管理、内容展示等功能的网站。

Django能帮你做哪些事?

  • 创建博客网站 ✅
  • 搭建电商商城 ✅
  • 构建后台管理系统 ✅
  • 开发API接口(供App调用)✅
  • 管理数据库内容 ✅

总之,Django就像一把瑞士军刀,是后端开发人员最喜欢使用的Python武器之一。


二、环境准备:搭建你的第一个Django开发环境

二、环境准备:搭建你的第一个Django开发环境

学习编程的第一步通常是设置好开发环境。这一步看似枯燥,但它非常重要,相当于盖房子前先铺好水泥地。

我们这里使用的是:

  • Python 3.10 或以上版本
  • pip(Python自带的包管理器)
  • Django(我们将通过pip安装)

步骤1:安装Python

如果你已经安装过Python,可以跳过本步骤。

👉 到 python.org 下载最新版Python并安装即可。

安装时一定要勾选「Add to PATH」选项(Windows系统)。安装完成后,在命令行输入:

python --version

你应该能看到类似输出:

Python 3.12.1

或者在Mac/Linux上输入:

python3 --version

步骤2:安装虚拟环境(建议)

虚拟环境就像是一个“隔离的小房间”,用于存放每个项目所需的特定软件包,避免版本冲突。

安装方式如下:

python -m venv myenv   # Windows / Mac / Linux通用

激活虚拟环境(很重要):

  • Windows用户:

    myenv\Scripts\activate
    
  • Mac/Linux用户:

    source myenv/bin/activate
    

激活后命令行前会多出 (myenv) 字样,表示进入了虚拟环境。

步骤3:安装Django

有了虚拟环境后,我们就可以安装Django了。

pip install django

等待安装完成后,检查是否安装成功:

django-admin --version

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

4.2.1

恭喜你,Django已经安装成功!


三、核心概念:Django里的关键词解释(超通俗版)

三、核心概念:Django里的关键词解释(超通俗版)

在正式写代码之前,我们来认识一下Django中最关键的几个术语,它们是你理解整个框架结构的基础。


1. 🧱 项目(Project)

一个项目就是一个完整的网站,比如一个博客网站或商城网站。

Django 把所有配置都放在一个叫做 project 的文件夹中。里面通常会有多个 app

📌 打个比方:项目就像是一整栋楼,里面包含了不同的房间(app)。


2. 🚪 App(应用)

App 是项目中的一个个模块,比如“文章列表页”、“评论功能”、“登录页”。

每一个 app 就像一栋大楼里的一间房子,完成某种具体的功能。

📌 示例:如果你正在做一个博客网站,你可以有以下 app:

  • blog(文章管理)
  • user(用户管理)
  • comment(评论功能)

3. 🗃️ 模型(Model)

Model 就是用来描述数据结构的。比如一个“文章”的数据模型,可能包括标题、作者、正文、发布时间等字段。

📌 类比:你可以把它想象成一张Excel表格,每张表都有列名和行数据。


4. 🌐 视图(View)

View 决定网页应该显示什么内容。它是连接 Model 和 Template 的桥梁。

📌 类比:View 就像厨师,拿到原料(Model),做出美食(页面内容),然后交给服务员(Template)呈给客人(浏览器)。


5. 🎨 模板(Template)

Template 决定网页长什么样。它是一个 HTML 文件,可以动态插入内容。

📌 类比:你可以把它看作是一道菜的摆盘方式,漂亮又规范。


6. 🔗 路由(URLconf)

URLconf 决定了访问哪个地址就执行哪个 View。

📌 类比:就像导航地图,告诉浏览器“访问 /about/ 时去调用 about_view 函数”。


掌握这些基本概念之后,我们可以进入实战环节啦!


四、实战项目:跟着教程一步步完成第一个网站

我们的目标:创建一个简单的“Hello World!”网页,并最终建成一个简易博客首页。


第一步:创建Django项目

进入你想放项目的目录,运行:

django-admin startproject mysite

这会生成一个叫 mysite 的项目文件夹,其结构如下:

mysite/
├── manage.py
└── mysite/
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

其中最重要的就是 manage.py,它是操作Django项目的“控制台”。


第二步:启动开发服务器测试效果

在终端中进入 mysite 文件夹,运行:

python manage.py runserver

你会看到:

Starting development server at http://127.0.0.1:8000/

打开浏览器访问 http://127.0.0.1:8000/,就会看到欢迎页 👍

按下 Ctrl + C 停止服务。


第三步:创建第一个App

我们要做一个“文章列表页”,所以我们创建一个叫 blog 的 app。

回到终端(确保还在 mysite 文件夹下),运行:

python manage.py startapp blog

这样,就生成了一个叫 blog 的文件夹,结构如下:

blog/
├── admin.py
├── apps.py
├── migrations/
├── models.py
├── tests.py
└── views.py

别担心看不懂,我们只先用到 views.pyurls.py


第四步:编写第一个视图(View)

打开 blog/views.py,修改内容为:

from django.http import HttpResponse

def home(request):
    return HttpResponse("你好,世界!")

📌 解释:

  • request: 浏览器发来的请求对象。
  • HttpResponse(): 返回一个网页内容。我们现在只是返回一句简单的文字。

第五步:配置URL路由

为了让网页能访问这个视图,我们需要配置 URL 路由。

打开 blog/urls.py(如果没有自己新建一个),添加以下内容:

from django.urls import path
from . import views

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

接着打开 mysite/urls.py(主项目的路由文件),将 blog 的路由引入进去:

from django.urls import include, path

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

现在你可以通过访问 http://127.0.0.1:8000/blog/ 看到“你好,世界!”了。


第六步:使用模板呈现更漂亮的网页

目前只能显示纯文本。接下来我们来美化它。

1. 创建模板文件夹

blog 文件夹中创建:

templates/
└── blog/
    └── home.html

并在 home.html 中写入:

<!DOCTYPE html>
<html>
<head>
    <title>我的第一个Django网站</title>
</head>
<body>
    <h1>欢迎来到我的博客!</h1>
    <p>这是我的第一个Django网页😊</p>
</body>
</html>

2. 修改视图以使用模板

打开 blog/views.py,改写如下:

from django.shortcuts import render

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

再次运行服务器:

python manage.py runserver

访问 http://127.0.0.1:8000/blog/,你会看到更美观的页面!


第七步:创建数据库模型(Model)

我们来创建一个简单的文章模型。

打开 blog/models.py,写下:

from django.db import models

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

    def __str__(self):
        return self.title

📌 这个模型包含三个字段:

  • 标题(最多200个字符)
  • 内容(大段文字)
  • 创建时间(自动生成)

第八步:应用数据库迁移

模型创建完后,需要同步到数据库中。

运行两条命令:

python manage.py makemigrations
python manage.py migrate

这两条命令的作用分别是:

  1. 生成迁移文件(类似于数据库变更计划)
  2. 实际执行这些变更

第九步:注册模型到管理后台

Django 自带一个强大的后台管理系统,可以方便查看和管理你的数据。

打开 blog/admin.py,修改内容如下:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

运行服务器并访问:

http://127.0.0.1:8000/admin/

你需要先创建管理员账号:

python manage.py createsuperuser

按照提示填用户名、邮箱、密码。

登录后你会看到“Post”模型已经出现在后台,你可以手动添加文章内容啦!


第十步:在页面上展示文章内容

回到 views.py,让我们从数据库读取文章并展示:

from django.shortcuts import render
from .models import Post

def home(request):
    posts = Post.objects.all()
    return render(request, 'blog/home.html', {'posts': posts})

同时,修改模板文件 blog/home.html

<h1>欢迎来到我的博客</h1>

{% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.content }}</p>
    <hr>
{% empty %}
    <p>暂时还没有文章😢</p>
{% endfor %}

现在刷新网页,如果数据库中有文章,就能看到了!


五、常见问题:新手容易遇到的问题解答 💬

❓1. 启动报错:找不到manage.py怎么办?

请确认你在正确的目录下运行命令。进入项目根目录(也就是有 manage.py 的那个文件夹)再执行:

python manage.py runserver

❓2. 为什么网页没有变化?

  • 检查是否保存了 .py.html 文件
  • 确保服务器重启了(修改了model、url后需重启)
  • 清除浏览器缓存或尝试无痕模式访问

❓3. 报错:ModuleNotFoundError: No module named 'django'

说明Django没安装成功,请退出当前环境,重新激活虚拟环境并重新安装:

pip install django

❓4. 模板无法加载,报错 TemplateDoesNotExist?

  • 检查模板路径是否正确
  • 确保 TEMPLATES 设置中 'DIRS': [] 已正确设置为模板路径(可先跳过高级配置)
  • 使用绝对路径:blog/templates/blog/home.html

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

恭喜你完成了你的第一个Django网站!虽然只是一个小小的博客首页,但这为你打开了通向Web开发的大门。

下面是一些你可以继续深入的方向:

🔹 基础拓展

主题 建议学习内容
表单处理 学习 forms.py,创建用户提交功能
用户系统 添加注册、登录、注销功能
静态资源 引入 CSS、图片、JS 文件优化页面样式

🔹 高级知识点

主题 建议学习内容
REST API 使用 Django REST Framework 编写接口
安全与权限 控制谁可以访问/修改内容
数据库优化 查询优化、索引使用

🔹 推荐项目实践

  1. 个人博客系统
  2. 简易电商网站
  3. 天气查询小助手
  4. 在线投票系统
  5. 简易论坛

结语 🤝

Django是一个功能强大但相对友好的框架。即使你是初学者,只要肯动手跟着一步一步练习,很快就能写出自己的网站。

编程最重要的不是聪明,而是坚持。

愿你在编程的旅程中越走越远,早日成为优秀的开发者!

如需获取完整示例代码或后续课程资料,请关注我后续更新内容,也欢迎留言提问👇


📘 如果你觉得这篇文章对你有用,不妨点赞、收藏、分享给更多人一起学!

评论 0

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