【第二集】Django的urls.py层和views.py层配置

目录

第一个视图

过程

注意

第一个URLconf

过程

注意

setting.py文件配置

启动Django开发服务器进行测试

Django处理请求的过程


前端页面的动态内容是靠view function  (视图函数) 来产生,联系前端和视图函数的URL定义在 URLconf 中。

第一个视图

过程

1、首先,我们从 django.http 模块导入(importHttpResponse 类;

2、接下来,在之前使用django admin.py startproject制作的mysite文件夹中,创建一个叫做views.py的空文件。这个Python模块将包含这一章的视图.我们定义一个叫做hello 的视图函数;

3、每个视图函数至少要有一个参数,通常被叫作request。 这是一个触发这个视图、包含当 前Web请求信息的对象,是类django.http.HttpRequest的一个实例。在这个示例中,我们 虽然不用request做任何事情,但它必须是这个视图的第一个参数;

from django.http import HttpResponse
def hello(request):
return HttpResponse("Hello world")

注意

一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest ,它返回一个HttpResponse实例。

这个对象包含了文 本“Hello world”。

第一个URLconf

过程

1、执行 django-admin startproject 时,该脚本会自动为 你 建 立 一 份 URLconf ( 即 urls.py 文件)。 默认的urls.py

2、前两行导入 django.contrib 下 的 admin模块和django.urls的path模块,它们是Django URLconf的基本构造。这包含了一个patterns函数

3、调用 path() 函数增加URL模式与view视图函数的映射

from django.contrib import admin
from django.urls import path
from mysite.views import hello
urlpatterns = [
path('admin/', admin.site.urls),
path('hello/', hello)
]

注意

元组中第一个元素是模式匹配字符串;第二个元素是那个模式将使用的视图函数。

简单来说,我们只是告诉 Django,所有指向前端 URL /hello/ 的请求都应由 hello 这个视图函数来处理。

setting.py文件配置

这个文件包含了所有 有关这个 Django 项 目 的 配 置 信 息 , 均大写: TEMPLATE_DIRS , DATABASE_NAME 等。

最重要的设置是 ROOT_URLCONF, 它将作为 URLconf告诉Django在这个站点中那些Python的模块将被用到。

启动Django开发服务器进行测试

1、测试修改好的 URLconf, 运行命令行 python manage.py runserver(如果你让它一直运行也可以,开发服务器会自动监测代码改动并自动 重新载入,所以不需要手工重启)

2、打开浏览器直接输入“ http://127.0.0.1:8000/hello/”,你将看到由你的 Django视图输出的Hello world。

Django处理请求的过程

1、进来的请求转入/hello/

2、Django通过在ROOT_URLCONF配置来决定根URLconf

3、DjangoURLconf中的所有URL模式中,查找第一个匹配/hello/的条目;

4、如果找到匹配,将调用相应的视图函数;

5、视图函数返回一个HttpResponse

6、Django转换HttpResponse为一个适合的HTTP response, 以Web page显 示出来。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值