Django(四):Django视图函数

什么是视图

视图是 MTV 设计模式中的 V 层,它是实现业务逻辑的关键层,可以用来连接 M 层与 T 层,起着纽带般的作用。

视图函数的执行过程

Django 收到请求以后,首先创建一个带有请求信息的 HttpRequset 对象,将 HttpRequest 的对象 request 作为第一个参数传递给视图函数,视图接收参数后继续向下执行,然后选择加载对应的视图,最后返回 HttpResponse 对象给浏览器。

视图函数

视图函数是一个 Python 函数或者类,开发者主要通过编写视图函数来实现业务逻辑。
视图函数首先接受来自浏览器或者客户端的请求,并最终返回响应,视图函数返回的响应可以是 HTML 文件,也可以是 HTTP 协议中的 303 重定向。

from django.http import HttpResponse
#从 django.http 模块中导入 HttpResponse,它是一种视图的响应类型
def Hello_my_django(request):
#定义一个名为“Hello_my_django”的函数,Django 规定了,视图函数至少有一个参数,第一个参数必须是 request,request 是 HttpRequest 请求类型的对象,它携带了浏览器的请求信息,所以视图函数的第一个参数必须为 request
    return HttpResponse('<html><body>Hello my Django</body></html>')
#视图函数要返回响应内容,这里的响应内容是我们用 HTML 标签编写的,把它作为 HttpResponse 的对象返回给浏览器。

视图函数如何找到相应的访问资源

一个用户向 Web 站点发送请求,是通过 URL 实现的,当 Web 服务器端接收到用户请求后,用户请求首先会到达相应的视图函数,然后视图函数找到相应的访问资源。
Django 中利用 ROOT_URLCONF 构建了 URL 与视图函数的映射关系。
在 django.conf.urls 中封装了路由模块,新建的 Django 项目中提供了 urls.py(创建项目后自动生成的配置文件) 路由配置文件,urls.py 文件中定义了一个 urlpatterns 的列表,它是由 url( ) 实例对象组成的列表,Django 中 url 的定义就是在这个列表完成的。

配置一个URL实现页面访问

  1. 新建视图函数,返回响应信息:
    在 urls.py 的同级目录下,新建 views.py 文件,把它作为编写视图函数的 View 层,然后在 views.py 中编写如下代码:
from django.http import HttpResponse
def page_view(request):
    html='<h1>欢迎来到,我不会网站,网址是http://c.wobuhui.net</h>'
    return HttpResponse(html)
  1. 在urls.py中文件中导入views.py,把URL与视图层进行绑定。然后在 urls.py 的 urlpatterns 中新建url实例对象:
from django.conf.urls import url
from django.contrib import admin
#导入admin 模块
from myject import views
#myject是 Django 项目的名称,导入视图层 views
urlpatterns = [
    url(r'admin/', admin.site.urls),
    #默认的,后台 Admin 管理系统的路由
    url(r'^page$/',views.page_view),]
    #路径地址被定义为 page,views.page_view将 page/ 路径对应的视图函数进行了关联。

路由的语法格式简单说明:

url(regex,view,name=None)

regex,匹配请求路径,用正则表达式表示;
view,指定 regex 匹配路径所对应的视图函数的名称;
name,是给 url 地址起个别名,在模板反向解析的时候使用,这个知识点后面还有介绍。

  1. 本机浏览器地址栏输入:http://127.0.0.1:8000/page 进行访问就可以看到响应界面。
    这里说一下为啥是http://127.0.0.1:8000:
    在你的项目目录里 ,运行下面的命令:python manage.py runserver,会在端口8000启动一个本地服务器, 并且只能从你的这台电脑连接和访问。开发服务器监测你的代码并自动加载它,这样你会很容易修改代码而不用重启动服务。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值