Files
DailyChallenge_ProgrammingD…/Day_15/README.md
T

98 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Day_15 · Django 第一个页面:跑通"请求 → 响应"
> 预计耗时:30 分钟
> 终点站!今天你的程序第一次变成"网站":浏览器访问它,它返回内容。之后你就可以挑战仓库里的进阶任务了。
## 今日知识点
- `django-admin startproject mysite`:创建 Django 项目(一个文件夹骨架)
- `python manage.py runserver`:启动开发服务器(默认 http://127.0.0.1:8000/)
- 视图函数 `def index(request):`:接收请求,返回 `HttpResponse(...)`
- `urls.py` 路由:把网址路径(如 `/`)和视图函数对应起来
## 先学(教程)
- B站 Django(看"创建项目""启动运行""Hello World"几讲):https://www.bilibili.com/video/BV1L8bpeXET5/
- 菜鸟教程 Django("创建项目"一节):https://www.runoob.com/django/django-tutorial.html
## 任务(后做)
全程在命令行操作(跟着做,卡住就把报错贴工单里):
1. 创建项目(在自己方便的位置):
```
django-admin startproject mysite
cd mysite
```
2. 启动服务器:
```
python manage.py runserver
```
浏览器打开 http://127.0.0.1:8000/ ,应该看到 Django 的欢迎页(一只火箭/小飞机)。
先截个图。
3. 关闭服务器(命令行按 Ctrl+C),让页面显示你自己的内容:
- 用编辑器打开 `mysite/mysite/views.py`,**先什么都不写**(这个文件原本是空的),
改成下面这样:
```python
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
```
- 打开 `mysite/mysite/urls.py`,把 `urlpatterns` 改成:
```python
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path("admin/", admin.site.urls),
path("", views.index),
]
```
- 重新 `python manage.py runserver`,刷新 http://127.0.0.1:8000/ ,
应该看到 **Hello, Django!** 大字。
4. **进阶(加分)**:创建一个应用(Django 的"模块"):
```
python manage.py startapp blog
```
然后把视图和路由挪到 `blog` 应用里(提示:`blog/views.py` 里写视图函数,
`mysite/urls.py` 里用 `path("", include("blog.urls"))`)。
做完记得把 `blog` 加进 `settings.py` 的 `INSTALLED_APPS`。
> 卡壳求助:任何一步报错,把**完整报错文字**贴在当日工单里,学长会帮你。
## 完成标准
- [ ] http://127.0.0.1:8000/ 显示 **Hello, Django!**
- [ ] 能说出来:浏览器输入网址后,你的 Django 程序做了什么(URL → 视图 → 返回内容)
- [ ] (进阶)blog 应用跑通
**提交方式**:把显示 `Hello, Django!` 的浏览器**截图**贴在当日工单评论里。
## 参考解答(先做再看)
```python
# mysite/views.py
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, Django!")
# mysite/urls.py
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path("admin/", admin.site.urls),
path("", views.index),
]
# 命令行:
# django-admin startproject mysite
# cd mysite
# python manage.py runserver
# 浏览器打开 http://127.0.0.1:8000/
```