98 lines
3.2 KiB
Markdown
98 lines
3.2 KiB
Markdown
# 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/
|
||
```
|