Add Day_15: Django第一个页面
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
# 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/
|
||||
```
|
||||
Reference in New Issue
Block a user