Django: 路由与视图 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

创建响应对象

传入视图的HttpRequest对象是由Django框架自动生成,但视图应当返回的HttpResponse对象, 则是由开发者负责创建的。

最常用的构造方法是传入一段字符串,这将作为响应的正文。响应的默认MIME类型是text/html, 不过,可以使用content_type关键字参数显式地改变MIME类型。例如:

rsp = HttpResponse('<h1>This is just a demo.</h1>')
rsp = HttpResponse('this is plain text',content_type='text/plain')

递进生成

有时我们需要逐步生成响应正文,可以先构造一个空的响应对象,然后使用write(chunk)方法填充:

rsp = HttpResponse()
for i in range(10):
    rsp.write('<div>this is line %d</div>' % i)

设置HTTP报文头

HttpResponse对象使用[]操作符来修改响应对象的HTTP报文头。例如:

rsp = HttpResponse(status=201)
rsp['LOCATION'] = '/user/787878/'

设置cookie

使用set_cookie(key,value)方法设置cookie:

rsp = HttpResponse('just a demo')
rps.set_cookie('demoid',random.random())
修改示例代码, 1. 当用户访问首页/时,设置响应的cookie,字段为counter,值为之前值加1 2. 当用户访问/demo/时,设置响应的Content-Typetext/plain