Day_14 · pip 安装 Django,认识 HTTP #15

Open
opened 2026-08-22 17:26:37 +08:00 by shimmer · 24 comments
Owner

题目与教程详见仓库对应目录 Day_14/README.md(本仓库已克隆即得)。

预计耗时:25~30 分钟
你马上要接触第一个"框架"了。今天两件事:用 pip 装上 Django,并搞懂网页是怎么请求数据的。

今日知识点

  • pip:Python 的"应用商店",pip install 包名 装第三方库
  • Django:别人写好的 Web 框架,你基于它写后端
  • HTTP 请求/响应:浏览器(客户端)发请求 → 服务器处理 → 返回响应(网页/数据)
  • URL 结构:https://www.runoob.com/python3/python3-tutorial.html
    = 协议(https) + 域名(www.runoob.com) + 路径(/python3/python3-tutorial.html)

先学(教程)

任务(后做)

  1. 命令行安装 Django:
    pip install django
    
  2. 验证安装成功:
    python -c "import django; print(django.get_version())"
    
    看到版本号(如 5.x.x)即成功。报"ModuleNotFoundError"就说明没装上,重新执行第 1 步。
  3. 认识 HTTP 与 URL:
    • 用浏览器打开 https://www.runoob.com/python3/python3-tutorial.html
    • 观察地址栏,指认:哪部分是协议?哪部分是域名?哪部分是路径?
    • 在页面上按 F12 → 切换到"网络/Network"标签 → 刷新页面,
      能看到一列"请求"记录——这就是浏览器向服务器发的 HTTP 请求。
  4. 进阶(加分):用 Python 发一个 HTTP 请求(urllib 是内置模块,不用安装):
    from urllib.request import urlopen
    
    resp = urlopen("https://www.runoob.com/python3/python3-tutorial.html")
    print(resp.status)                # 200 表示成功
    print(resp.read()[:100])          # 返回的内容(前 100 字节)
    
    感受一下:你的电脑作为"客户端"去请求了一个"服务器"。

完成标准

  • 版本号打印成功
  • 能指认 URL 的三部分
  • (进阶)Python 请求返回 200

提交方式:把命令行安装 + 版本号的截图贴在当日工单评论里。

参考解答(先做再看)


from urllib.request import urlopen

resp = urlopen("https://www.runoob.com/python3/python3-tutorial.html")
print(resp.status)      # 200
print(resp.read()[:100])
> 题目与教程详见仓库对应目录 Day_14/README.md(本仓库已克隆即得)。 > 预计耗时:25~30 分钟 > 你马上要接触第一个"框架"了。今天两件事:用 pip 装上 Django,并搞懂网页是怎么请求数据的。 ## 今日知识点 - **pip**:Python 的"应用商店",`pip install 包名` 装第三方库 - **Django**:别人写好的 Web 框架,你基于它写后端 - **HTTP 请求/响应**:浏览器(客户端)发请求 → 服务器处理 → 返回响应(网页/数据) - **URL 结构**:`https://www.runoob.com/python3/python3-tutorial.html` = 协议(`https`) + 域名(`www.runoob.com`) + 路径(`/python3/python3-tutorial.html`) ## 先学(教程) - 菜鸟教程 Django(先看"简介"和"环境安装"部分):https://www.runoob.com/django/django-tutorial.html - B站 Django(看前 1~2 讲:django 安装 / 创建项目):https://www.bilibili.com/video/BV1L8bpeXET5/ ## 任务(后做) 1. 命令行安装 Django: ``` pip install django ``` 2. 验证安装成功: ``` python -c "import django; print(django.get_version())" ``` 看到版本号(如 `5.x.x`)即成功。报"ModuleNotFoundError"就说明没装上,重新执行第 1 步。 3. 认识 HTTP 与 URL: - 用浏览器打开 https://www.runoob.com/python3/python3-tutorial.html - 观察地址栏,指认:哪部分是协议?哪部分是域名?哪部分是路径? - 在页面上按 F12 → 切换到"网络/Network"标签 → 刷新页面, 能看到一列"请求"记录——这就是浏览器向服务器发的 HTTP 请求。 4. **进阶(加分)**:用 Python 发一个 HTTP 请求(`urllib` 是内置模块,不用安装): ```python from urllib.request import urlopen resp = urlopen("https://www.runoob.com/python3/python3-tutorial.html") print(resp.status) # 200 表示成功 print(resp.read()[:100]) # 返回的内容(前 100 字节) ``` 感受一下:你的电脑作为"客户端"去请求了一个"服务器"。 ## 完成标准 - [ ] 版本号打印成功 - [ ] 能指认 URL 的三部分 - [ ] (进阶)Python 请求返回 200 **提交方式**:把命令行安装 + 版本号的**截图**贴在当日工单评论里。 ## 参考解答(先做再看) ```python from urllib.request import urlopen resp = urlopen("https://www.runoob.com/python3/python3-tutorial.html") print(resp.status) # 200 print(resp.read()[:100]) ```

27eca30ca8a08523ccfcaf1e9f8a848c.png

![27eca30ca8a08523ccfcaf1e9f8a848c.png](/attachments/2ba5b6ee-cdda-40e4-9e37-844b57c6f00a)

image.pngimage.png

<img width="371" alt="image.png" src="attachments/67c9e67c-a9a8-4a66-882e-8aff08fc1bf2"><img width="539" alt="image.png" src="attachments/ec13c7c3-bef5-4b98-8332-696050b10497">
7.8 KiB
103 KiB
image.png
<img width="811" alt="image.png" src="attachments/c1bceb9d-e9c7-4247-a7fe-631e2bc9a4b3">
image.png
<img width="1436" alt="image.png" src="attachments/cdf61ae6-13eb-42ce-a41b-cae8e247a021">
103 KiB
{1BD9978F-0C14-4782-AB89-969D3C5354F5}.png
<img width="497" alt="{1BD9978F-0C14-4782-AB89-969D3C5354F5}.png" src="attachments/7ded1dbc-3aa7-41ab-b1e2-677e363c1e77">

图一是命令行安装 + 版本号显示
Screenshot From 2026-09-21 19-36-38.png

图二中:

  1. https 是协议,被火狐省略,不过点击编辑地址栏时会显示
  2. 域名是 www.runoob.com
  3. 路径是 /python3/python3-tutorial.html

Screenshot From 2026-09-21 19-39-03.png

图三与图四:图三中,成功读到了网页源码的前100个字节,与图四(ctrl + u 显示网页源码)对应。由于网络传输用的是二进制字节流,所以有b'',表示这是一个 bytes(字节串)对象,需要解码才能变成 str
Screenshot From 2026-09-21 19-50-06.png

Screenshot From 2026-09-21 19-45-11.png

图一是命令行安装 + 版本号显示 ![Screenshot From 2026-09-21 19-36-38.png](/attachments/6dba57cb-08db-431a-abcd-6a1ab3dee67c) 图二中: 1. https 是协议,被火狐省略,不过点击编辑地址栏时会显示 2. 域名是 www.runoob.com 3. 路径是 /python3/python3-tutorial.html ![Screenshot From 2026-09-21 19-39-03.png](/attachments/ea8a8d02-d1dc-44a0-bffa-52378f058257) 图三与图四:图三中,成功读到了网页源码的前100个字节,与图四(ctrl + u 显示网页源码)对应。由于网络传输用的是二进制字节流,所以有`b''`,表示这是一个 bytes(字节串)对象,需要解码才能变成 str ![Screenshot From 2026-09-21 19-50-06.png](/attachments/43a04904-2ade-4cf8-b161-7ca758925ea5) ![Screenshot From 2026-09-21 19-45-11.png](/attachments/e762d5c8-9414-4e0c-8748-9ad2c9545c24)

1

1
屏幕截图 2026-09-25 094718.png
<img width="1279" alt="屏幕截图 2026-09-25 094718.png" src="attachments/f2727c9b-4387-40d0-8d8f-80157890a94f">

QQ_1790302506177.png

![QQ_1790302506177.png](/attachments/42ad6ffb-62ee-47de-9944-6f2e945a2945)
image.png
<img width="1439" alt="image.png" src="attachments/a715c9e3-85f1-441c-8d56-e21f2740875f">
444 KiB

5c9e99fcfbd2a8721796822d30f8d40f.png1dfdd1749fc3f18c0450fd3d1f224bce.pngfab2203aac5c6a0f7b93416d1e669730.png

<img width="1292" alt="5c9e99fcfbd2a8721796822d30f8d40f.png" src="attachments/7b96de96-b43d-4005-8b36-867b08c9a3d8"><img width="1915" alt="1dfdd1749fc3f18c0450fd3d1f224bce.png" src="attachments/853faade-8887-447f-bad7-1cb253c51a04"><img width="1892" alt="fab2203aac5c6a0f7b93416d1e669730.png" src="attachments/a5ae9d5a-0cb0-4497-a588-15801a19abd1">
image.png
<img width="1223" alt="image.png" src="attachments/7e082b88-e417-4fbc-bfd8-d67189cd3fcc">
250 KiB

图片.png

![图片.png](/attachments/26d058c4-7fec-4f70-856d-cc8702f8ce13)
131 KiB

image.png9228b6ec-75a3-4c61-b4bf-7b6436e812a9.png

![image.png](/attachments/51dd86d5-a587-4762-a1f5-b3c700c5c26e)![9228b6ec-75a3-4c61-b4bf-7b6436e812a9.png](/attachments/e0ff2321-6710-4f6f-979c-389986b287d0)

image.png

![image.png](/attachments/ef93a502-2105-4bc9-b038-587fd0648ba5)
258 KiB
image.png
<img width="1280" alt="image.png" src="attachments/828208db-d687-4970-ae70-c15e81f5868c">
566 KiB

image.png

![image.png](/attachments/da76d0fd-090d-4aba-a152-ca61015a7206)
162 KiB
image.png
<img width="1152" alt="image.png" src="attachments/bedbb32f-7ce9-4772-83cc-672ead57620d">
2.3 MiB

Day_14 · pip 安装 Django,认识 HTTP

Django 5.2.18 安装成功;urlparse 拆解协议 / 域名 / 路径

day14.png

**Day_14 · pip 安装 Django,认识 HTTP** Django 5.2.18 安装成功;urlparse 拆解协议 / 域名 / 路径 ![day14.png](https://cdn.jsdelivr.net/gh/xu675693517-hue/hello-daily-challenge@main/screenshots/day14.png)

image.png
image.png

![image.png](/attachments/ace7a6ce-3eea-4d61-b4b3-65bba0d7bfa5) ![image.png](/attachments/5883c4b1-f5a5-45df-8d80-28aefaa4d0fe)
Sign in to join this conversation.