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

梁浩然
2025-12-16 19:26
阅读 390

大家好,我是一名开源项目维护者,也长期参与后端开发与教学。很多初学者向我反馈,想用 Python 快速上手 Web 开发,但面对众多框架无从下手。Django 正是这样一个“开箱即用”的选择——它安全、高效、功能全面。我当初学的时候,也是从一行 django-admin startproject 开始的。今天这篇教程,就带你用最安全、最规范的方式,搭建你的第一个 Python 网站。

关键词提醒:本文将围绕 Python(编程语言)、综合(Django 是一个全栈框架)、以及简要提及 爬虫(虽非本教程重点,但会说明其与 Web 开发的关系)展开。


一、Django 是什么?能用来做什么?

Django 是一个用 Python 编写的高级 Web 框架。它的设计哲学是“不要重复造轮子”(DRY),内置了用户认证、数据库管理、URL 路由、模板引擎等模块,让你专注业务逻辑。

  • ✅ 适合构建博客、电商、后台管理系统等综合型网站
  • ❌ 不适合做实时聊天或高频交易系统(这类场景更适合 FastAPI 或异步框架)
  • 🔒 安全优先:Django 默认防范 CSRF、XSS、SQL 注入等常见 Web 攻击

📌 小知识:虽然 Python 也常用于写爬虫(如用 requests + BeautifulSoup),但 Django 是服务端框架,用于“提供网页”,而不是“抓取网页”。两者方向不同,但可结合使用(例如用爬虫采集数据,再用 Django 展示)。


二、环境准备:5 分钟搭好开发环境

步骤 1:安装 Python

确保你已安装 Python 3.8+(推荐 3.10 或 3.11)。在终端运行:

python --version
# 或
python3 --version

步骤 2:创建虚拟环境(重要!)

虚拟环境能隔离项目依赖,避免版本冲突。

# 创建
python -m venv mysite_env

# 激活(Windows)
mysite_env\Scripts\activate

# 激活(macOS/Linux)
source mysite_env/bin/activate

步骤 3:安装 Django

pip install django

验证安装:

django-admin --version
# 输出类似:4.2.7

💡 避坑指南:不要用 sudo pip 安装!务必在虚拟环境中操作,这是保障系统安全和项目稳定的第一步。


三、核心概念:用大白话讲清楚

Django 遵循 MTV 模式(Model-Template-View),相当于其他框架的 MVC:

组件 作用说明
Model 定义数据结构(如“文章”、“用户”),自动映射到数据库
Template 网页的 HTML 模板,支持动态内容插入
View 处理请求逻辑,决定返回哪个页面或数据

简单流程:

用户访问 /hello → URL 路由找到对应 View → View 读取 Model(如有)→ 渲染 Template → 返回 HTML 给浏览器

四、实战项目:创建一个“欢迎页面”

我们将一步步创建一个显示“Hello, Django!”的网站。

第 1 步:创建项目

django-admin startproject mysite
cd mysite

生成目录结构:

mysite/
    manage.py          # 命令行工具
    mysite/
        __init__.py
        settings.py    # 配置文件(含数据库、安全选项等)
        urls.py        # 主路由文件
        asgi.py
        wsgi.py

第 2 步:启动开发服务器

python manage.py runserver

打开浏览器访问 http://127.0.0.1:8000,看到火箭图标即成功!

⚠️ 安全提示runserver 仅用于开发!生产环境必须用 Nginx + Gunicorn 等部署方案。

第 3 步:创建一个应用(App)

Django 项目由多个“应用”组成(如用户系统、博客模块)。

python manage.py startapp hello

第 4 步:注册应用

编辑 mysite/settings.py,在 INSTALLED_APPS 中添加 'hello'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    # ... 其他默认项
    'hello',  # ← 新增这行
]

第 5 步:编写视图(View)

编辑 hello/views.py

from django.http import HttpResponse

def welcome(request):
    return HttpResponse("Hello, Django! 欢迎你!")

第 6 步:配置 URL 路由

  • hello/ 目录下新建 urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.welcome, name='welcome'),
]
  • 修改主路由 mysite/urls.py
from django.contrib import admin
from django.urls import path, include  # ← 导入 include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello.urls')),  # ← 包含 hello 应用的路由
]

第 7 步:重新运行服务器

python manage.py runserver

刷新页面,你会看到:Hello, Django! 欢迎你!


五、常见问题解答(FAQ)

Q1:为什么访问页面出现 404?

  • 检查 urls.py 是否正确包含子路由
  • 确保 startapp 后在 settings.py 中注册了应用

Q2:中文显示乱码?

Django 默认使用 UTF-8,但需确保:

  • 文件保存为 UTF-8 编码
  • 浏览器未强制指定其他编码

Q3:如何连接数据库?

Django 默认使用 SQLite(轻量级文件数据库),适合开发。生产环境建议 PostgreSQL 或 MySQL。只需修改 settings.py 中的 DATABASES 配置即可。

Q4:这和爬虫有什么关系?

  • 爬虫是从别人网站获取数据(输出:数据)
  • Django提供网页服务(输出:HTML/API)
  • 你可以用爬虫抓取新闻,存入 Django 的数据库,再通过网站展示——这是典型结合场景

🔐 安全强调:若未来用 Django 接收用户输入(如表单),务必使用 Django 的表单验证和 ORM 查询,切勿拼接 SQL 字符串


六、学习建议与下一步

恭喜你完成了第一个 Django 网站!但这只是开始。我建议按以下路径深入:

短期目标(1~2周)

  • 学习 Django 模型(Model):创建数据表,用 makemigrationsmigrate 同步数据库
  • 掌握 模板系统:用 {% for %}{{ variable }} 渲染动态内容
  • 实践 Django Admin:自动生成后台管理界面

中期目标(1个月)

  • 实现用户注册/登录(用内置 auth 模块)
  • 添加 Bootstrap 美化前端
  • 学习 REST API 开发(配合 Django REST Framework)

长期融合

  • 爬虫项目(如定时抓取天气数据)与 Django 结合,做成可视化仪表盘
  • 学习部署:用 Docker + Nginx + Gunicorn 上线你的网站

🧠 我的经验:我当初学 Django 时,总想一步到位做复杂功能,结果卡在配置上。建议从小功能做起——先让页面显示文字,再加数据库,再加样式。稳扎稳打,才能构建安全可靠的系统。


结语

Django 是 Python 生态中最成熟、最安全的 Web 框架之一。它不仅适合快速原型开发,也能支撑高流量生产系统(如 Instagram、Mozilla)。通过本教程,你已掌握了最基础的项目结构和请求响应流程。

记住:安全不是附加功能,而是开发习惯。从第一天起,就使用 Django 提供的安全机制,避免手写危险代码。

现在,去修改你的 views.py,把“Hello”换成你的名字吧!你的 Web 开发之旅,正式启程。

评论 0

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