杰瑞科技汇

python django教程

(SEO优化):

Python Django教程2025:从零开始到项目实战,手把手带你掌握Web开发全流程

python django教程-图1
(图片来源网络,侵删)

Meta描述(用于搜索结果摘要):

还在为Web开发入门烦恼?这份超详细的Python Django教程2025版,专为初学者和进阶者打造,从环境搭建、模型设计到视图开发、模板渲染,再到部署上线,手把手带你完成一个完整的博客项目,快速掌握Python Web开发核心技能,开启你的编程之旅!


引言:为什么选择Python和Django?

在浩瀚的编程语言和框架海洋中,Python凭借其简洁、易读的语法和强大的生态系统,稳居最受欢迎的编程语言之一,而在Web开发领域,Django框架更是Python开发者的“瑞士军刀”,它遵循“DRY”(Don't Repeat Yourself)原则,提供了“开箱即用”的功能,如ORM、后台管理、用户认证、路由系统等,让你能从繁琐的底层细节中解放出来,专注于业务逻辑的实现。

无论你是希望转行IT的新手,还是寻求高效开发工具的程序员,这份Python Django教程都将是你通往Web开发大门的最佳路径,本文将以实战为导向,带你一步步构建一个功能完整的博客系统,让你在项目中学习,在学习中成长。


第一章:准备工作与Django环境搭建

千里之行,始于足下,在开始我们的Django之旅前,我们需要搭建好开发环境。

python django教程-图2
(图片来源网络,侵删)

1 安装Python Django是基于Python的,所以首先确保你的电脑上安装了Python,建议安装Python 3.8或更高版本,以获得最佳兼容性和性能,访问 Python官网 下载并安装。

2 使用pip安装Django Python的包管理工具pip是我们的得力助手,打开你的终端或命令提示符,执行以下命令来安装Django:

# 推荐使用虚拟环境来隔离项目依赖
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境 (Windows)
myenv\Scripts\activate
# 激活虚拟环境 (macOS/Linux)
source myenv/bin/activate
# 安装Django
pip install django

小贴士: 始终在虚拟环境中进行项目开发,可以避免不同项目之间的依赖冲突。

3 创建你的第一个Django项目 安装成功后,让我们用Django的命令行工具创建一个项目:

python django教程-图3
(图片来源网络,侵删)
# django-admin startproject 项目名
django-admin startproject myblog

这会创建一个名为myblog的文件夹,里面包含了Django项目的基本结构:

  • manage.py: 一个命令行工具,用于与你的项目进行交互。
  • myblog/: 项目的主包,包含了项目的设置文件。

4 运行开发服务器 进入项目目录,并启动开发服务器来验证一切是否就绪:

cd myblog
python manage.py runserver

在浏览器中访问 http://127.0.0.1:8000/,如果你看到了Django的欢迎页面,那么恭喜你,准备工作已经完成!


第二章:Django核心概念解析

Django的设计哲学是“MVT”(Model-View-Template)架构模式,理解这三个核心组件是掌握Django的关键。

  • Model (模型): 负责数据结构和业务逻辑,它定义了你的数据如何存储在数据库中,是Python对象与数据库表之间的映射。
  • View (视图): 负责业务逻辑处理,它接收来自用户的请求,与模型交互获取数据,然后选择一个模板来渲染响应,最终返回给用户。
  • Template (模板): 负责前端展示,它是一个包含HTML和Django模板语言的文件,用于动态地生成最终的网页内容。

用户通过浏览器请求一个URL -> Django的URL路由系统将请求分发给对应的视图 -> 视图从模型中获取数据 -> 视图将数据传递给模板 -> 模板渲染成HTML页面 -> 返回给用户。


第三章:实战演练——构建一个博客系统

理论是灰色的,实践之树常青,让我们动手创建一个简单的博客应用。

1 创建应用 在Django中,一个项目可以包含多个应用(App),每个App负责一个独立的功能模块,我们来创建一个名为blog的应用:

python manage.py startapp blog

创建后,别忘了在myblog/settings.py文件中的INSTALLED_APPS列表里注册这个新应用:

# myblog/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',  # 添加这行
]

2 定义数据模型 博客的核心是文章,我们需要在blog/models.py中定义一个Post模型来存储文章信息。

# blog/models.py
from django.db import models
from django.contrib.auth.models import User
class Post(models.Model):= models.CharField(max_length=200, verbose_name="标题")
    content = models.TextField(verbose_name="内容")
    created_at = models.DateTimeField(auto_now_add=True, verbose_name="创建时间")
    author = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="作者")
    def __str__(self):
        return self.title

步骤: 定义好模型后,需要告诉Django我们要创建这些数据表。

# 生成迁移文件
python manage.py makemigrations
# 执行迁移,将模型映射到数据库
python manage.py migrate

3 配置URL和视图 当用户访问文章列表页时,我们需要展示所有文章。

  • 创建URL配置:在blog应用下创建一个urls.py文件。

    # blog/urls.py
    from django.urls import path
    from . import views
    urlpatterns = [
        path('', views.post_list, name='post_list'),
    ]
  • 包含应用URL:将blog/urls.py包含到项目主URL配置myblog/urls.py中。

    # myblog/urls.py
    from django.contrib import admin
    from django.urls import path, include
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('blog.urls')), # 添加这行
    ]
  • 编写视图函数:在blog/views.py中编写处理请求的逻辑。

    # blog/views.py
    from django.shortcuts import render
    from .models import Post
    def post_list(request):
        # 获取所有文章,按创建时间倒序排列
        posts = Post.objects.order_by('-created_at')
        # 将数据传递给模板
        context = {'posts': posts}
        return render(request, 'blog/post_list.html', context)

4 创建模板 视图函数需要模板来渲染页面。

  1. blog应用下创建一个templates/blog目录。
  2. templates/blog目录下创建post_list.html文件。
    <!-- templates/blog/post_list.html -->
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>我的博客</title>
    </head>
    <body>
        <h1>文章列表</h1>
        {% for post in posts %}
            <div>
                <h2>{{ post.title }}</h2>
                <p>{{ post.created_at }}</p>
                <p>{{ post.content|truncatewords:30 }}</p>
                <hr>
            </div>
        {% empty %}
            <p>暂无文章。</p>
        {% endfor %}
    </body>
    </html>

    注意: {{ post.title }}是Django模板语言,用于显示变量。{% for ... %}是循环标签。

5 使用Django Admin后台 Django最强大的功能之一就是其自动生成的后台管理界面。

  1. 创建超级用户

    python manage.py createsuperuser

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

  2. 注册模型:在blog/admin.py中注册我们的Post模型。

    # blog/admin.py
    from django.contrib import admin
    from .models import Post
    admin.site.register(Post)
  3. 访问 http://127.0.0.1:8000/admin/,用你刚刚创建的超级用户登录,你就可以在后台看到并管理Post模型了!你可以直接在后台添加几篇文章,然后刷新你的博客主页,看看效果。


第四章:进阶技巧与资源推荐

恭喜你,你已经完成了Django的Hello World项目!但这仅仅是开始。

  • 表单处理:学习使用Django的FormModelForm来处理用户提交的数据,实现文章发布、评论等功能。
  • 用户认证:利用Django内置的auth模块,实现用户注册、登录、登出和个人中心。
  • 静态文件管理:学习如何正确地引入CSS、JavaScript和图片文件。
  • REST Framework:如果你想构建API,Django REST framework是的不二之选,它能让你的API开发变得异常简单。

推荐资源:

  • 官方文档Django Documentation (最权威、最全面)
  • 在线课程:Coursera、Udemy、慕课网等平台上有大量高质量的Django课程。
  • 社区:Stack Overflow、Reddit的r/django板块是解决疑难杂症的好去处。

通过这份Python Django教程,我们从零开始,一步步搭建了开发环境,理解了Django的核心MVT架构,并亲手实现了一个具备后台管理功能的博客系统,你已经掌握了Django开发的基本流程,具备了独立开发中小型Web应用的能力。

Web开发的世界广阔无垠,Django只是其中一颗璀璨的明星,但请记住,持续的学习和实践是通往专家的唯一道路,关掉这篇文章,去创建属于你自己的下一个项目吧!祝你在Python和Django的世界里玩得开心!

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