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

UIDesigner
2025-06-11 13:10
阅读 210

开篇:Django是什么?用来做什么?

Django是一个用Python编写的开源Web框架,它帮助开发者快速构建功能强大的网站。想象一下,如果你想开一家网店,但不想从零开始写所有代码(比如注册用户、管理商品列表等),那么Django就可以帮到你!它提供了许多现成的工具和模块,让你可以专注于实现自己的核心需求。

使用Django,你可以轻松创建博客、电子商务平台、社交网络应用等各种类型的网站。如果你是完全零基础的新手,也不用担心——今天我们就从零开始学习如何用Django搭建一个简单的网站!


环境准备:开发环境搭建步骤

1. 安装Python

Django是基于Python语言的,所以我们需要先安装Python。

  • Windows/macOS/Linux 用户可以访问官网下载最新版本(推荐使用Python 3.9+)。
  • 安装完成后,在命令行输入以下命令,确认是否成功安装:
    python --version
    
    或者(如果系统支持python3命令):
    python3 --version
    

2. 安装pip

Pip是一个用于安装Python包的工具,Django也需要通过pip安装。大多数情况下,Python自带了pip。运行以下命令检查是否已安装:

pip --version

如果没有安装,请按照官方指南进行安装。

3. 创建虚拟环境

为了防止不同项目的依赖冲突,建议每个项目都使用独立的虚拟环境。

# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境(Windows)
myenv\Scripts\activate

# 激活虚拟环境(macOS/Linux)
source myenv/bin/activate

4. 安装Django

激活虚拟环境后,运行以下命令安装Django:

pip install django

检查安装是否成功:

django-admin --version

核心概念:用通俗的语言解释关键概念

在开始动手之前,我们需要了解几个基本概念:

1. MVT模式

Django遵循“模型-视图-模板”(Model-View-Template,简称MVT)的设计模式。

  • 模型(Model):处理数据的部分,比如数据库中的表结构。
  • 视图(View):负责业务逻辑,决定显示哪些内容。
  • 模板(Template):展示给用户的界面部分,类似于HTML文件。

2. 应用(App)

一个Django项目通常由多个应用组成。每个应用负责实现某个具体的功能,例如用户登录、文章管理等。

3. URL配置

Django通过URL路径将用户的请求映射到具体的视图函数上,这样可以确保不同的页面有不同的功能。


实战项目:一步步完成一个简单网站

接下来,我们将一起创建一个简单的“Hello World”网站。

1. 创建Django项目

进入你的工作目录,运行以下命令创建一个新的Django项目:

django-admin startproject mysite

这会在当前目录下生成一个名为mysite的文件夹,里面包含项目的基本结构。

2. 运行开发服务器

进入项目目录并启动Django内置的开发服务器:

cd mysite
python manage.py runserver

打开浏览器,访问http://127.0.0.1:8000/,你会看到默认的欢迎页面。

3. 创建应用

每个Django项目都需要至少一个应用来承载实际功能。运行以下命令创建一个名为hello的应用:

python manage.py startapp hello

4. 配置应用

打开mysite/settings.py文件,在INSTALLED_APPS列表中添加新创建的应用:

INSTALLED_APPS = [
    # 其他默认应用...
    'hello',
]

5. 编写视图

hello/views.py中编写一个简单的视图函数:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Hello, World!")

6. 配置URL

告诉Django如何将请求映射到我们的视图函数。首先在hello应用中创建一个urls.py文件:

from django.urls import path
from . import views

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

然后,在项目的主urls.py文件(位于mysite/mysite/目录下)中引入这个新的URL配置:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello.urls')),  # 将hello应用的URL加入主路由
]

7. 测试结果

重新启动开发服务器,刷新浏览器页面。你应该能看到“Hello, World!”的文字。


增强功能:添加一个简单的模板

为了让页面更美观,我们可以使用Django的模板系统。

1. 创建模板文件

hello/templates/hello/目录下新建一个HTML文件index.html

<!DOCTYPE html>
<html>
<head>
    <title>Hello, World</title>
</head>
<body>
    <h1>Welcome to My Website!</h1>
    <p>This is a simple Django project.</p>
</body>
</html>

2. 修改视图函数

更新views.py以返回渲染后的模板:

from django.shortcuts import render

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

3. 配置模板路径

确保模板路径被正确识别,在mysite/settings.py中找到DIRS参数并设置为:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates'],  # 添加这一行
        ...
    },
]

再次刷新页面,现在你应该能看到一个带有标题和段落的网页。


常见问题:新手容易遇到的问题和解决方案

  1. 问题:运行python manage.py runserver时提示“ModuleNotFoundError: No module named 'django'”

    • 解决方法:检查是否正确激活了虚拟环境,并确保Django已经安装。
  2. 问题:访问网页时显示“Page not found (404)”

    • 解决方法:确认URL配置是否正确,检查是否有拼写错误或未导入的视图函数。
  3. 问题:无法访问开发服务器

    • 解决方法:确保开发服务器正在运行,并检查浏览器地址栏是否与运行日志中的地址一致。

学习建议:下一步的学习路径

恭喜你完成了第一个Django网站!如果你希望进一步提升,这里有一些建议:

  1. 学习Django的ORM(对象关系映射),掌握如何操作数据库。
    • 创建一个简单的博客应用,练习增删改查操作。
  2. 了解用户认证系统(Authentication),例如用户注册、登录和权限管理。
  3. 掌握前端知识,结合CSS、JavaScript让页面更加美观和动态。
  4. 学习部署技巧,将你的网站发布到云端(如Heroku、AWS等)。

最后,不断实践才是学习编程的最佳方式!尝试自己设计一些小项目,比如待办事项清单、照片分享网站等。相信不久之后,你就能独立开发出完整的Web应用啦!

评论 0

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