首页
学习
活动
专区
圈层
工具
发布

Django—视图

视图必须返回一个HttpResponse对象或子对象作为响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误等。...内置错误视图 Django内置处理HTTP错误的视图,主要错误及视图包括: 404错误:page not found视图 500错误:server error视图 如果想看到错误视图而不是调试信息,需要修改项目的...,QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get():根据键获取值 如果一个键同时拥有多个值将获取最后一个值 如果键不存在则返回None值,可以设置默认值进行后续处理...上去 四、HttpResponse对象 视图在接收请求并处理后,必须返回HttpResponse对象或子对象。在django.http模块中定义了HttpResponse对象的API。...HttpRequest对象由Django创建,HttpResponse对象由开发人员创建。 ? 属性 content:表示返回的内容。

4.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    『Django』视图views

    通常会在视图函数里返回 HTML 网页、JSON 类型的接口、重定向、404等。 视图函数一般写在各应用下的 views.py 文件里。 视图决定了 Web 应用的行为和响应。...它是一种简单直观的方式,使用Python 函数来处理 HTTP 请求并返回响应。在FBV中,每个视图都是一个独立的 Python 函数,接收 HTTP 请求对象作为参数,并返回 HTTP 响应对象。...这是因为 Django 的 URL 路由系统需要将视图映射到 URL 模式,而类视图本身只是Python 类,无法直接作为视图函数使用。...请求与响应(以GET和POST举例) 客户端和服务器通常使用HTTP的方式进行数据传递,客户端向服务器发起对话时,会创建一个“请求对象”,而服务器回复客户端时会创建一个“响应对象”。...响应JSON 在前后端分离的项目中,后端通常只会返回数据内容给前端,而不是返回一个页面。返回的数据通常是以 JSON 为主。 此时我们需要用到 JsonResponse 来帮忙。

    35310

    Django 1.10中文文档-第一个应用Part3-视图和模板

    编写拥有实际功能的视图 每个视图函数只负责处理两件事中的一件:返回一个包含所请求页面内容的HttpResponse对象,或抛出一个诸如Http404异常。该如何去做这两件事,就看你自己的想法了。...Django将选择它找到的名字匹配的第一个模板,如果你在不同的应用程序中有一个相同名称的模板,Django将无法区分它们。...快捷方式:render() 常见的习惯是载入一个模板、填充一个context 然后返回一个含有模板渲染结果的HttpResponse对象。Django为此提供一个快捷方式。...404错误 现在,让我们处理Question 详细页面的视图 —— 显示Question内容的页面: # polls/views.py from django.http import Http404...为什么我们要使用一个辅助函数get_object_or_404()而不是在更高层自动捕获ObjectDoesNotExist异常,或者让模型的API 引发 Http404 而不是ObjectDoesNotExist

    2.8K60

    Django 2.1.7 视图 - HttpResponse对象、子类JsonResponse、子类HttpResponseRedirect

    HttpResponse对象 视图在接收请求并处理后,必须返回HttpResponse对象或子对象。在django.http模块中定义了HttpResponse对象的API。...HttpRequest对象由Django创建,HttpResponse对象由开发人员创建。...="btnJson" value="获取json数据"> id="jsonList"> 4)运行服务器,在浏览器中输入如下地址。...好了,到这里就可以点击json1页面中的按钮,通过ajax获取json2的json返回数据了。 如下: ? ajax代码执行过程如下: 1.发起请求。 2.服务器端视图函数执行。...Django中提供了HttpResponseRedirect对象实现重定向功能,这个类继承自HttpResponse,被定义在django.http模块中,返回的状态码为302。

    1.6K20

    关于“Python”的核心知识点整理大全59

    为将所有既有主题都关联到管理用户ll_admin,我输入了用户ID值1(见6)。并非必须使用 超级用户,而可使用已创建的任何用户的ID。...代码 Topic.objects.filter(owner=request.user)让Django只从数据库中获取owner属性为当前用户的 Topic对象。...为修复这种问题,我们在视图函数topic()获取请求的条目前执行检查: views.py from django.shortcuts import render 1 from django.http...如果请求的主题不归当前用户所有,我们就引发Http404 异常(见2),让Django返回一个404错误页面。...= 'POST': # 初次请求,使用当前条目的内容填充表单 --snip-- 我们获取指定的条目以及与之相关联的主题,然后检查主题的所有者是否是当前登录的用 户,如果不是,就引发Http404

    58210

    django 学习笔记三

    自定义 URL 对应的视图 在 views.py 中增加 URL 的过滤和响应事件 在 views.py 中增加过滤 from django.http import HttpResponse def...因为 通过 polls 相当于是创建了命名空间 在 views.py 中,不同的 path 返回不同的模板 views.py 文件就是一个中间者 mvc 中的 c。模板就是 v。...# 此处是获取对象的属性 # get_object_or_404() # 函数将一个Django模型作为它的第一个参数,任意数量的关键字参数作为它的第二个参数,它会将这些关键字参数传递给模型管理器中的...如果对象不存在,它就引发一个 # Http404异常。...# 还有一个get_list_or_404() # 函数,它的工作方式类似get_object_or_404() —— 差别在于它使用filter() # 而不是get()。

    52220

    Ajax 实战

    ,实现前端输入两个数字,服务器做加法,返回到前端页面 ''' '''urls.py''' path('', views.test_Ajax) '''views.py''' from django.shortcuts...'''urls.py''' path('login/', views.login), '''views.py''' from django.shortcuts import render,redirect...)反序列化,ajax接收到数据后需要自己转成对象 在Ajax中,如果使用JsonResponse模块序列化数据,返回的就是一个对象,响应头中是application/json格式,不需要自己手动反序列化...,ajax接收到数据后会自动转成对象 如果使用Ajax,能不能解析返回的数据,取决于响应的类型,如果是json类型,那么就自动解析,不是需要自己手动解析 如果使用了ajax,后端就不要返回rediret...内置序列化 django提供了一个模块可以将对象直接序列化,然后返回给前端,但是可扩展性低,字段不能控制,返回得是一个整体 from django.core import serializers

    1.7K10

    自创Web框架之过度Django框架

    目录 自创Web框架之过度Django框架 软件开发架构 HTTP协议 Web框架之“撸起袖子加油干” Web框架之通过wsgiref加油干 封装优化处理 动静网页 jinjia2模块 数据库 自写框架梳理...自创Web框架之过度Django框架 Web框架,其实就是Web应用的建立;比如网页版的QQ,b站····都是Web应用软件; Web应用又是什么?...599) 分类 分类描述 1** 信息,服务器收到请求,需要请求者继续执行操作 2** 成功,操作被成功接收并处理 3** 重定向,需要进一步的操作以完成请求 4** 客户端错误,请求包含语法错误或无法完成请求...return [b'index'] elif current_path == '/login': return [b'login'] return [b'404...''' # 获取字典 def get_dict(env): user_dict = {'id': 1, 'name': 'Hammer', 'hobby': 'python'} from

    61310

    Django补充及初识Ajax

    ().values_list("id","caption") 在views.py中写如下代码: from django.shortcuts import render from app01 import...,sep="\t") 我们知道数据库中host表的最后一别是b_id,所以我们可以通过row.b_id获得最后一列的值,我们也可以获取row.b,这样获取的就是一个对象,而这个对象就是Business表中一行数据的对象...以及Bussines表的id、code我们并不需要在页面上显示,但是用户id以及Bussines表的id是唯一的,后面可能需要获取,所以将这两个值作为了tr标签的属性,而code则不是必须的。...","b__caption") 这里我们注意到跨表操作的时候用了b__caption,这里其实无法用b.caption来跨表获取数据,所以这是也是双下划线的一种用法 最终代码如下: host函数的代码:...这里JSON.parse将字典进行反序列化 一般情况,建议让服务器返回一个字典: return HttpResponse(json.dumps(字典)) 这里有个知识点需要注意: $.ajax({

    1K70
    领券