零基础也能搭网站?用 Django 写你的第一个 Python 网站

RAG研究生
2026-01-05 14:35
阅读 1491

大家好,我是掘金上常写教程的全栈工程师。最近有读者私信我:“学 Python 除了写爬虫还能干啥?” 其实,Python 不仅能抓数据,还能搭建完整的网站!今天这篇教程,就带完全没有后端经验的朋友,用 Django 框架从零开始做出一个可运行的网页。

我当初学的时候,也被“MVC”“路由”“模板”这些词吓到过。但其实,只要拆解清楚,Django 是对新手非常友好的 Web 框架。它内置了开发服务器、数据库管理、用户系统等工具,让你专注业务逻辑,而不是重复造轮子。

更重要的是:会写网站,你就打开了代码人生的另一扇门——不再是只处理数据的脚本,而是能被全世界访问的产品!


一、为什么选 Django?

Django 是一个用 Python 编写的“大而全”的 Web 框架。它的口号是:“Don’t repeat yourself”(别重复自己)。这意味着:

  • 自带后台管理界面
  • 自动处理数据库操作
  • 内置用户认证系统
  • 安全性高(防 CSRF、XSS 等)

对比其他框架(比如 Flask),Django 更适合快速构建完整网站,尤其适合初学者建立系统性认知。

📌 小知识:很多知名网站如 Instagram、知乎早期都用了 Django!


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

1. 安装 Python(3.7+)

确保你已安装 Python。在终端输入:

python --version
# 或
python3 --version

如果没有,请去 python.org 下载安装。

2. 创建虚拟环境(强烈推荐!)

虚拟环境能隔离项目依赖,避免“这个包在 A 项目行,B 项目崩”的问题。

# 创建虚拟环境(名字叫 mysite_env)
python -m venv mysite_env

# 激活虚拟环境
# Windows:
mysite_env\Scripts\activate
# macOS/Linux:
source mysite_env/bin/activate

激活后,命令行前缀会出现 (mysite_env),说明成功。

3. 安装 Django

pip install django

验证安装:

django-admin --version
# 输出类似 4.2.7,说明安装成功

✅ 工具清单总结:

工具 用途
Python 编程语言
pip 包管理器
venv 虚拟环境工具
Django Web 框架

三、核心概念:3 个关键词搞懂 Django

Django 遵循 MTV 模式(Model-Template-View),你可以理解为:

  • Model(模型):和数据库打交道,定义数据结构(比如“文章”有标题、内容)
  • Template(模板):HTML 页面,负责展示内容(前端部分)
  • View(视图):连接 Model 和 Template,处理业务逻辑(比如“显示最新5篇文章”)

💡 类比:
Model = 厨房(准备食材)
View = 服务员(决定上什么菜)
Template = 餐盘(把菜漂亮地摆出来)


四、实战:创建你的第一个网站

我们来做一个极简的“欢迎页”,展示一句话。

步骤 1:创建项目

django-admin startproject mysite
cd mysite

这会生成一个 mysite 文件夹,里面包含配置文件、主应用等。

步骤 2:启动开发服务器

python manage.py runserver

看到 Starting development server at http://127.0.0.1:8000/ 就成功了!

打开浏览器,访问 http://127.0.0.1:8000,你会看到火箭图标页面 —— 恭喜!你的第一个 Django 网站跑起来了!

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

Django 项目由多个“应用”组成。比如博客、用户中心、商品系统各是一个 App。

python manage.py startapp home

现在目录结构大概是:

mysite/
├── manage.py
├── mysite/          # 项目配置
└── home/            # 我们刚创建的应用
    ├── views.py
    ├── models.py
    └── ...

步骤 4:编写视图(View)

编辑 home/views.py

from django.http import HttpResponse

def welcome(request):
    return HttpResponse("你好!欢迎来到我的第一个 Django 网站!")

步骤 5:配置 URL 路由

告诉 Django:当用户访问根路径 / 时,调用 welcome 函数。

先修改 home/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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('home.urls')),  # 新增这一行
]

步骤 6:注册应用

mysite/settings.pyINSTALLED_APPS 列表里加上 'home'

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    # ... 其他默认项
    'home',  # ← 加在这里
]

保存后刷新浏览器,就能看到你的欢迎语了!


五、进阶一点:用模板显示页面

硬编码 HTML 在 HttpResponse 里不优雅。我们改用 模板(Template)

1. 创建模板目录

home 文件夹下新建:

home/
└── templates/
    └── home/
        └── welcome.html

📌 注意:Django 默认会在每个 App 的 templates/ 下找模板,且建议再建一层同名文件夹(如 home/)避免冲突。

2. 编写 HTML 模板

home/templates/home/welcome.html

<!DOCTYPE html>
<html>
<head>
    <title>我的第一个网站</title>
</head>
<body>
    <h1>🎉 你好!</h1>
    <p>这是用 Django 渲染的页面。</p>
    <p>下一步:试试加入动态数据吧!</p>
</body>
</html>

3. 修改视图函数

home/views.py 改为:

from django.shortcuts import render

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

刷新页面,样式更清晰了!而且以后改 HTML 不用碰 Python 代码。


六、新手常见问题解答

❓1. 为什么一定要用虚拟环境?

答:避免不同项目依赖冲突。比如 A 项目用 Django 3,B 项目用 Django 4,不用虚拟环境会打架。

❓2. startprojectstartapp 有什么区别?

答:project 是整个网站(包含配置、多个 app),app 是功能模块(如博客、评论)。一个 project 可包含多个 app。

❓3. 能用 Django 写爬虫吗?

答:不推荐。Django 是 Web 框架,爬虫应该用 requests + BeautifulSoupScrapy。但你可以用 Django 展示爬虫抓到的数据!比如每天自动抓新闻,存进数据库,再通过网站展示——这才是“代码人生”的完整闭环!

❓4. 为什么改了代码页面没更新?

答:Django 开发服务器会自动重载,但有时需要手动重启(按 Ctrl+C 再 runserver)。另外,确保你保存了文件!


七、下一步学什么?

你已经迈出了关键一步!接下来建议:

  1. 学数据库操作:用 models.py 定义数据表,用 makemigrationsmigrate 同步数据库。
  2. 尝试 Django Admin:自带后台,5 行代码就能管理数据。
  3. 做个小项目:比如“待办事项列表”或“个人博客”。
  4. 部署上线:用 Vercel、Render 或阿里云把网站发布到公网。

🌟 最后一句真心话:
我见过太多人卡在“环境配置”就放弃了。但只要你跑通第一个页面,后面的路会越走越宽。代码人生,从一个能访问的网页开始

现在,去终端敲下那行 django-admin startproject 吧!你的网站,正在等你创建。

评论 0

最热最新
暂无评论
RAG研究生Lv.1
0
影响力
0
文章
0
粉丝