Files

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 路由:把网址路径(如 /)和视图函数对应起来

先学(教程)

任务(后做)

全程在命令行操作(跟着做,卡住就把报错贴工单里):

  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,先什么都不写(这个文件原本是空的), 改成下面这样:
      from django.http import HttpResponse
      
      def index(request):
          return HttpResponse("Hello, Django!")
      
    • 打开 mysite/mysite/urls.py,把 urlpatterns 改成:
      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! 的浏览器截图贴在当日工单评论里。

参考解答(先做再看)

# 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/