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

数据迁移苦工
2025-12-14 21:23
阅读 611

大家好,我是你们的学长,一名211高校计算机专业的研究生。在研一的时候,我也曾对着命令行一脸懵,看着“Django”这个陌生单词不知所措。后来靠着一篇篇技术博客入门,逐渐爱上了后端开发。今天,我想把这份经验回馈给刚入门的你——用最清晰的思路、最简单的语言,带你亲手搭建人生第一个网站。这就是我写这篇教程的初衷:让“代码人生”从一个可运行的网页开始。


一、Django是什么?为什么值得学?

Django 是一个用 Python 编写的高级 Web 框架,它遵循“不要重复造轮子”(DRY)和“约定优于配置”的原则,能帮你快速构建安全、可维护的网站。

🌟 通俗理解:如果你要盖房子,Django 就是已经帮你打好地基、砌好墙、装好水电的“半成品毛坯房”。你只需要装修(写业务逻辑)就能入住!

适合人群

  • 完全零基础的小白
  • 会点 Python 但没做过网站的同学
  • 想快速做出 MVP(最小可行产品)的创业者

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

步骤1:安装 Python(建议 3.8+)

python.org 下载最新版。安装时务必勾选“Add to PATH”

验证安装:

python --version
# 应输出类似:Python 3.10.12

步骤2:创建虚拟环境(强烈推荐!)

虚拟环境能隔离项目依赖,避免“在我电脑上能跑”的尴尬。

# 创建虚拟环境(名字叫 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

避坑指南:不要全局安装 Django!每个项目都该有自己的虚拟环境。


三、核心概念:用生活比喻理解 Django 架构

Django 遵循 MTV 模式(Model-Template-View),它是 MVC 的变种:

组件 作用 生活比喻
Model 数据结构(对应数据库表) 菜谱(规定菜怎么做)
Template 页面模板(HTML + 动态内容) 上菜的盘子(展示形式)
View 处理请求并返回响应 厨师(根据订单做菜)

💡 我当初学的时候,总搞不清 View 和 Template 的关系。记住:View 决定“做什么”,Template 决定“长什么样”


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

我们将做一个极简的“欢迎页”网站,展示一句动态问候语。

第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,看到火箭图标就成功了!

⚠️ 注意:开发服务器仅用于本地测试,不要用于生产环境

第3步:创建应用(App)

Django 项目由多个“应用”组成。比如一个博客网站可能有 blogusercomment 等应用。

python manage.py startapp homepage

生成 homepage/ 目录,包含:

  • views.py:写处理逻辑
  • models.py:定义数据模型
  • apps.py:应用配置

第4步:注册应用

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

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

第5步:编写视图(View)

编辑 homepage/views.py

from django.http import HttpResponse
from datetime import datetime

def welcome(request):
    current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    return HttpResponse(f"<h1>你好!现在时间是:{current_time}</h1>")

第6步:配置路由(URL)

先在 homepage 目录下创建 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('homepage.urls')),  # ← 包含 homepage 的路由
]

第7步:运行并查看效果

重启服务器(如果之前开着):

python manage.py runserver

刷新浏览器,你会看到动态时间!🎉


五、新手常见问题解答(FAQ)

❓ Q1:为什么页面没有样式?全是文字?

A:因为我们直接返回了 HTML 字符串。后续可学习 Template(模板系统)来分离 HTML。

❓ Q2:每次改代码都要重启服务器吗?

A:不用!Django 开发服务器支持自动重载,保存代码后刷新浏览器即可。

❓ Q3:报错 “No module named ‘homepage’” 怎么办?

A:检查 settings.py 中是否正确添加了 'homepage'INSTALLED_APPS

❓ Q4:能用中文吗?

A:可以!在 settings.py 中设置:

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

六、下一步学习建议:走向“综合”能力

恭喜你完成了第一个 Django 网站!但这只是起点。要真正掌握后端开发,建议按以下路径进阶:

阶段 学习内容 目标
基础巩固 模板(Template)、静态文件、表单处理 能做带样式的交互页面
数据持久化 模型(Model)、数据库迁移、Admin 后台 能存储和管理用户数据
用户系统 用户认证、登录/注册 实现权限控制
API 开发 DRF(Django REST Framework) 为 App 或前端提供接口
部署上线 Nginx + Gunicorn + PostgreSQL 让全世界访问你的网站

🔑 关键思维:不要死记代码,要理解请求-响应流程组件协作机制。Django 的魅力在于它的“约定”,一旦理解,开发效率飞升。


结语:你的“代码人生”从此开始

回想起我第一次看到 Hello World 在浏览器中显示的那一刻,那种成就感至今难忘。技术学习不是一蹴而就,但只要迈出第一步,你就已经超越了90%的人。

这篇教程虽短,却涵盖了 Django 最核心的启动流程。希望它能成为你“代码人生”的起点。记住:每一个复杂的系统,都是从一行 HttpResponse 开始的。

行动建议:现在就打开终端,跟着步骤敲一遍代码!遇到问题?评论区见,我会尽力解答。

祝你在编程路上越走越远,用代码改变世界!

评论 0

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