标签:request 逻辑 页面 loader 文字 bsp 接受 sse hose
一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片。
无论视图本身包含什么逻辑,都要返回响应。大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中。
from django.http import HttpResponse def show(req): name = ‘Jerry‘ content = ‘<h1>hello %s!</h1>‘ % name return HttpResponse(content)
首先从 django.http模块导入了HttpResponse类。然后定义了show函数。它就是视图函数;每个视图函数的第一个参数都为request,其实是一个HttpRequest对象。视图函数中封装了一个HTML格式的字符串,传入HttpResponse()后,实例化一个HttpResponse对象并返回。
当浏览器向服务端请求一个页面时,Django创建一个HttpRequest对象,该对象包含关于请求的元数据。然后,Django加载相应的视图,将这个HttpRequest对象作为第一个参数传递给视图函数。
结合一个给定的模板和一个给定的上下文字典, 并返回一个渲染后的HttpResponse对象。
def render(request, template_name, context=None, content_type=None, status=None, using=None): """ Return a HttpResponse whose content is filled with the result of calling django.template.loader.render_to_string() with the passed arguments. """ content = loader.render_to_string(template_name, context, request, using=using) return HttpResponse(content, content_type, status)
必需参数:
可选参数:
示例:
from django.shortcuts import render def my_view(request): active = True return render(request, ‘index.html‘, {‘name‘: active}, content_type=‘application/xhtml+xml‘)
默认返回一个临时的重定向,传递permanent=True可以返回一个永久的重定向。临时重定向(响应状态码: 302)和永久重定向(响应状态码: 301)对普通用户来说是没什么区别的, 它主要面向的是搜索引擎的机器人。
def redirect(to, *args, permanent=False, **kwargs): """ Return an HttpResponseRedirect to the appropriate URL for the arguments passed. """ redirect_class = HttpResponsePermanentRedirect if permanent else HttpResponseRedirect return redirect_class(resolve_url(to, *args, **kwargs))
参数可以是:
示例:
from django.shortcuts import redirect def my_view(request): return redirect(‘/some/url/‘) def my_view(request): return redirect(‘https://example.com/‘)
标签:request 逻辑 页面 loader 文字 bsp 接受 sse hose
原文地址:https://www.cnblogs.com/houyongchong/p/view.html