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

后端漫游指南
2025-06-13 17:08
阅读 519

开篇:Django是什么?它能帮你做什么?

开篇:Django是什么?它能帮你做什么?

你好!欢迎来到Django的初学者世界。
如果你是第一次接触Web开发,那么你可能会对一些术语感到陌生。没关系,我们一步步来。

什么是Django?

Django是一个用Python编写的Web框架。你可以把它想象成一个“工具箱”,这个工具箱里面有很多现成的“工具”,可以帮助你快速地搭建出一个功能完整的网站。

为什么选择Django?

  1. 简单易学:特别适合刚入门的新手。
  2. 功能强大:自带用户系统、数据库管理等功能。
  3. 节省时间:很多复杂的事情已经有人替你做好了。
  4. 广泛应用:Instagram、Mozilla等大型网站都使用Django开发。

今天,我们就从零开始,搭建你的第一个网站!


环境准备:搭建开发环境(Windows/Mac/Linux通用)

环境准备:搭建开发环境(Windows/Mac/Linux通用)

在写代码之前,我们需要准备好开发工具。

第一步:安装Python

Django是基于Python的,所以我们首先要确保电脑上安装了Python。

✅ 检查是否已安装:

python --version

如果看到类似 Python 3.8.0 或更高的版本号,说明已经安装好了。

如果没有安装,请到官网下载:https://www.python.org/downloads/

第二步:安装虚拟环境(virtual environment)

为什么要用虚拟环境?
就像不同的项目可能需要不同型号的螺丝刀一样,不同的Python项目可能依赖不同版本的库。虚拟环境可以帮助你为每个项目创造一个“隔离的空间”。

安装虚拟环境模块:

pip install virtualenv

创建一个文件夹用来放我们的项目,比如叫 myfirstsite,进入该目录后执行:

cd myfirstsite
virtualenv venv

激活虚拟环境:

  • Windows:
    venv\Scripts\activate
    
  • Mac/Linux:
    source venv/bin/activate
    

你现在会看到命令行前面多了一个 (venv) 的提示,表示虚拟环境已经生效。

第三步:安装Django

现在我们正式安装Django:

pip install django

检查一下是否安装成功:

django-admin --version

如果出现类似 4.2.7 这样的版本号,说明安装成功!


核心概念:Django的几个关键角色

刚开始学习Django时,可能会听到很多新词,比如“项目”、“应用”、“视图”等等。下面我用最通俗的方式来解释它们。

1. 项目 vs 应用

  • 项目(Project):整个网站的整体结构,相当于整栋房子。
  • 应用(App):网站的一个功能模块,比如“博客文章”、“用户注册”等功能都可以拆分成单独的应用,相当于房子里的房间。

一个项目可以包含多个应用。

2. MTV 设计模式

Django采用一种叫MTV的结构(和常见的MVC很像),它包括三个部分:

缩写 含义 类比
M - Model 数据模型(比如一张用户表) 书架里的书
T - Template 网页模板(HTML 页面) 装修设计图纸
V - View 控制器,处理逻辑、返回页面 房子的控制系统(比如温控器)

别被这些名词吓到了,随着实践你会慢慢理解。


实战项目:一步步搭建你的第一个Django网站

我们现在来做一个简单的网站,它的主要功能就是展示一句话:“欢迎访问我的第一个网站!”

第一步:创建Django项目

在你的项目文件夹里(如 myfirstsite),运行命令:

django-admin startproject mysite .

注意最后有个点 . 表示当前目录作为项目的根目录。

此时你会看到这样的目录结构:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

其中:

  • manage.py 是用来管理项目的脚本。
  • settings.py 是整个项目的配置文件。
  • urls.py 是网址路由表,告诉Django不同的URL应该去哪个页面。

第二步:启动开发服务器

在命令行中运行:

python manage.py runserver

然后打开浏览器,访问 http://127.0.0.1:8000/,你应该能看到一个默认的欢迎页面。

🎉 非常棒!你现在有了一个正在运行的网站!

按 Ctrl+C 可以停止服务器。

第三步:创建第一个应用

还记得我们说的项目和应用的区别吗?现在我们来创建一个“首页”应用。

执行命令:

python manage.py startapp home

这会在项目中生成一个叫做 home 的应用文件夹。

接下来,我们要把这个应用加入到项目中。

打开 mysite/settings.py,找到这一行:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

在这下方加一行:

    'home.apps.HomeConfig',  # 添加这行

保存这个文件。

第四步:编写一个简单的网页

① 编写View(控制器)

打开 home/views.py,将内容替换为:

from django.http import HttpResponse

def index(request):
    return HttpResponse("欢迎访问我的第一个网站!")

这就是一个简单的视图函数,当有人访问网站主页时,它会显示一句欢迎语。

② 配置URL路由

我们还需要告诉Django,当你访问某个URL时,应该执行哪个视图。

打开 mysite/urls.py,把内容改成如下:

from django.contrib import admin
from django.urls import path
from home import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index),  # 主页路径为空字符串
]

这样设置后,当我们访问主站(如 http://127.0.0.1:8000/)的时候,就会调用 views.index 函数,显示欢迎语。

③ 再次运行服务器查看效果

再次运行服务器:

python manage.py runserver

刷新一下浏览器,你会看到我们刚刚写的那句话啦!


第五步:添加网页模板(Template)

上面的例子只是输出了一段文本,我们真正做网站的时候通常需要HTML页面。下面我们来升级一下,让它返回一个真正的网页。

① 创建templates文件夹

home 文件夹下新建一个 templates/home/ 文件夹(注意结构):

home/
    templates/
        home/
            index.html

index.html 文件中添加以下HTML代码:

<!DOCTYPE html>
<html>
<head>
    <title>我的第一个网站</title>
</head>
<body>
    <h1>欢迎访问我的第一个网站!</h1>
    <p>这是用Django做的哦!</p>
</body>
</html>

② 修改view.py 使用模板

修改 home/views.py

from django.shortcuts import render

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

这里的 render 函数会自动查找模板并渲染。

③ 运行服务器查看结果

刷新页面,你会看到一个新的网页!


常见问题解答:新手容易遇到的问题

这里是一些初学Django的朋友经常问的问题,希望对你有帮助。

❓ Q1:运行runserver的时候报错 “No module named django”

说明没有正确安装Django或者没激活虚拟环境。

✅ 解决方法:

  • 确保你在虚拟环境中执行命令。
  • 运行 pip install django 安装Django。

❓ Q2:访问网页出现404错误

可能是URL配置不正确或者服务没有重启。

✅ 解决方法:

  • 检查 urls.py 中是否有拼写错误。
  • 每次修改代码后记得重启服务器。

❓ Q3:模板加载失败,报错“TemplateDoesNotExist”

通常是模板路径不对或名字写错了。

✅ 解决方法:

  • 确保模板文件位于 yourapp/templates/yourapp/ 目录中。
  • 模板名要完整,比如 'home/index.html',不能只写 'index.html'

❓ Q4:怎么退出虚拟环境?

很简单,运行:

deactivate

你会看到命令行前的 (venv) 提示消失,说明已经退出了虚拟环境。


学习建议:下一步应该怎么学?

恭喜你完成了你的第一个Django网站!

这只是Django之旅的第一步。想继续深入学习,下面是一些建议方向:

✅ 基础篇可拓展知识点:

  1. 创建更多页面 —— 试着做一个“关于我”或者“联系我们”的页面。
  2. 学习数据库操作 —— 使用Django的ORM来存储数据。
  3. 模板进阶 —— 使用模板继承、变量传递等技巧。
  4. 静态文件配置 —— 添加CSS、JS、图片资源。

🚀 推荐学习顺序:

  1. 学习Django的Admin后台管理
  2. 掌握数据库建模(Models)
  3. 学习Form表单提交
  4. 用户登录注册功能开发
  5. 用Bootstrap美化网站界面

📘 推荐参考文档:
Django官方中文文档
菜鸟教程-Django教程


结语:坚持下去,你就离高手不远了!

Django的学习曲线并不陡峭,但每掌握一个知识点,你就能做出更酷的功能。记住一句话:“编程不是看你懂多少概念,而是看你写了多少代码。

今天的教程只是起点,希望你能跟着练习一遍,动手写下属于你自己的第一个网站!

如果你觉得这篇文章对你有帮助,欢迎点赞、分享给更多的朋友看到。

继续加油,未来的程序员!🚀

评论 0

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