Web应用框架-Django应用基础(2)

1.请求响应对象

1.1 请求对象HttpRequest测试

#hello\views
def http_request(request):#1.获得请求方式print(request.method)#2.获得请求头信息#2.1 获取META中的请求头信息headers = request.METAprint(headers)#2.2 获取请求头信息的内容ua = request.META.get('HTTP_USER_AGENT',None)#2.3 通过headers获取请求头信息print(request.headers)print(request.headers['User-Agent'])print(ua)#3.获取请求参数name = request.GET.get('name','')print(name)return HttpResponse('响应')#hello\urls
path('http/resp/',http_response,name='http_response'),

1.2 请求对象HttpResponse测试

#hello/urls
path('http/resp/',http_response,name='http_response'),

1.2.1 设置响应状态码

#hello/views
def http_response(request):resp = HttpResponse('响应状态码',status=201)print(resp.status_code)#获得响应对象中的状态码return resp

1.2.2 响应cookie

    resp = HttpResponse('响应Cookie')#注意:cookie数据要求不能有特殊字符及汉字,只允许英文字母和数字resp.set_cookie('username','badada',max_age=604800)resp.set_cookie('password','0603',max_age=604800)return resp

1.2.3 响应JSON格式数据

   JSON是前后端传递数据的标准格式,数据内容由key:value组成
   在json中可以通过符号表示对象及列表
   包含的数据类型:字符数字、布尔、对象、列表

    """如:{id:1,name:'badada'like:['吃','喝','旅游']}"""user_info = {'name':'badada','age':32,'like':['吃','喝','旅游']}return JsonResponse(user_info)

1.2.4 响应文件

    response = FileResponse(open('./hello/tests.py','rb'))return response

2.重定向 

如果文章id大于1000,则表示该文章不存在,重定向至404页面

重定向至沾点内部的url地址

return HttpResponseRedirect('/hello/404/')

重新向至站点内部的视图名或者重定向至站点外部资源

#hello/urlspath('404/',no_data_404,name='no_data_404'),path('article/detail/<int:article_id>', article_detail, name='article_detail'),#hello/viewsdef no_data_404(request):#404页面return HttpResponse('404')
def article_detail(request,article_id):if article_id>1000:return redirect('https://www.baidu.com')return HttpResponse('文章{}の内容'.format(article_id))

3.重写内置的错误处理视图

3.1 配置自定义 500 错误页面

test_django的settings 中更改是否支持debug运行

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False 

在test_django中新建views文件

#test_django/views:from django.http import HttpResponsedef page_500(request):return HttpResponse('服务器正忙,稍后重试')#test_django/urls:handler500 = "test_django.views.page_500"

3.2 配置hello网址错误页面

#hello/viewsdef page_500(request):raise #触发异常return HttpResponse('错误页面')#hello/urlspath('page_500/',page_500,name='page_500'),

4.配置处理静态文件

新建medias文件夹,与hello、test_django同级。

用于存放静态文件,如图片等。

#test_django/settings# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False #test_django/settings:MEDIA_URL = '/media/'#配置目录资源地址MEDIA_ROOT = os.path.join(BASE_DIR,'medias')#存放静态资源文件#test_django/urls:from test_django import settings
from test_django import re_path
from django.views.static import serve
if settings.DEBUG:urlpatterns += [re_path(r"^media/(?P<path>.*)$",serve, {"document_root": settings.MEDIA_ROOT}),]

5.Class重写视图

temples文件夹下新建home.html模板文件:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>home首页</h1>
</body>
</html>

用函数访问该模板文件:

# hello/views:class HomeView(TemplateView):template_name = 'home.html'# hello/urls:path('homeview/',HomeView.as_view(),name='HomeView'),

6.创建姓名模板

username里的数据发生改变,页面中渲染的数据发生改变,该效果称为动态数据

#hello/views:def hello_user(request):username='000'html= '''<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><h1 style='color:#f00;'>hello{{username}}</h1></body></html>'''.replace('{{username}}',username)return HttpResponse(html)# hello/urls:path('hello_user/', hello_user, name='hello_user'),

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/57363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

023 elasticsearch查询数据 高亮 分页 中文分词器 field的数据类型

文章目录 1查询的语法2查询全部数据3termQuery 关键词查询4QueryString查询&#xff0c;根据查询字符串查询5match查询&#xff0c;功能和query_string相同6multi_match查询7bool查询8高亮处理9查询结果分页10中文分词器field的数据类型 1查询的语法 方法&#xff1a;post url…

Zookeeper面试整理-Zookeeper的基础概念

Zookeeper的基础概念是理解其作为分布式协调服务的核心要素。以下是一些关键的基础概念: 1. Zookeeper是什么? Zookeeper 是一个开源的分布式协调服务,用于分布式应用中的配置管理、命名服务、分布式锁、集群管理等任务。它提供了一组简单的原语,帮助开发人员构建健壮的分布…

[已解决] pycharm添加本地conda虚拟环境 + 配置解释器 - pycharm找不到conda可执行文件

目录 问题&#xff1a; 方法&#xff1a; 补充&#xff1a;创建conda虚拟环境 参考文档&#xff1a;pycharm找不到conda可执行文件怎么办&#xff1f;-CSDN 问题&#xff1a; 1.显示&#xff1a;未为项目配置 Python 解释器 2.想在pycharm中使用本地创建的虚拟环境 方法&a…

【分布式微服务云原生】《微服务架构大揭秘:流行框架与服务治理攻略》

标题&#xff1a;《微服务架构大揭秘&#xff1a;流行框架与服务治理攻略》 摘要&#xff1a;本文深入探讨了流行的微服务架构框架&#xff0c;包括 Spring Cloud、Docker Kubernetes、Dubbo、Service Mesh 和 Serverless 架构&#xff0c;详细介绍了它们的关键组件和服务治理…

通过前端UI界面创建VUE项目

通过前端UI界面创建VUE项目&#xff0c;是比较方面的一种方式&#xff0c;下面我们详细分析一下流程&#xff1a; 1、找到合适目录 右键鼠标&#xff0c;点击在终端打开 2、开始创建 输入 vue ui 浏览器弹出页面 3、点击Create项目 显示已有文件列表&#xff0c;另外可以点击…

HttpURLConnection和OkHttp的特点

HttpURLConnection与OkHttp概述及个人倾向性分析 在Java和Android开发中&#xff0c;HttpURLConnection与OkHttp都是用于处理HTTP请求的库&#xff0c;它们在功能、性能、易用性等方面各有千秋。本文将详细阐述两者的特点&#xff0c;并结合个人使用经验&#xff0c;表达我对哪…

【React系列二】—React学习历程的分享

一、表单处理 受控组件 HTML 中的表单元素是可输入的&#xff0c;也就是有自己的可变状态 而 React 中可变状态通常保存在state中&#xff0c;并且只能通过 setState() 方法来修改 React 将 state 与表单元素值 value 绑定在一起&#xff0c;有 state 的值来控制表单元素的值…

find_library、pkg_check_modules、pkg_search_module的区别

在CMake中&#xff0c;find_library、pkg_check_modules和pkg_search_module是用于查找和使用库的三种不同命令。以下是具体介绍&#xff1a; find_library 功能&#xff1a;find_library用于查找指定的库文件&#xff08;动态库或静态库&#xff09;&#xff0c;不依赖于库提供…

ChatGLM4重磅开源! 连忙实操测试一波,效果惊艳,真的好用!附带最新相关资料和喂饭级实操推理教程!!

本文目录 GLM4重磅开源啦 GLM4系列版本介绍 GLM4大模型能力测评结果 经典测评任务结果 长文本能力 工具调用能力 多模态能力 手把手实操GLM-4-9B-Chat推理预测&&效果展示 GLM4运行硬件和环境要求 配置对应的库环境 使用peftbitsandbytes 进行4位量化推理 进…

【大模型报告】2024年中国AI大模型场景探索及产业应用调研报告【免费下载】

1.行业概况 市场规模&#xff1a; 2023年中国AI大模型行业规模达到147亿元&#xff0c;预计到2028年将突破1000亿元&#xff0c;复合增速超过50%。 应用价值&#xff1a; AI大模型技术能够提升生产要素的产出效率&#xff0c;并提高数据要素在生产要素组合中的地位。 应用路…

本地生活便民信息服务小程序源码系统 PHP+MySQL组合开发 带完整的安装代码包以及搭建部署教程

系统概述 地方门户分类信息网站源码系统是一个基于PHP和MySQL开发的强大平台&#xff0c;旨在帮助用户轻松搭建地方性的分类信息网站。该系统集成了众多实用功能&#xff0c;支持用户自由发帖、浏览和搜索各类信息&#xff0c;如二手交易、求职招聘、房屋租售、生活服务、商家…

Git核心概念图例与最常用内容操作(reset、diff、restore、stash、reflog、cherry-pick)

文章目录 简介前置概念.git目录objects目录refs目录HEAD文件 resetreflog 与 reset --hardrevert(撤销指定提交)stashdiff工作区与暂存区差异暂存区与HEAD差异工作区与HEAD差异其他比较 restore、checkout(代码撤回)merge、rebase、cherry-pick 简介 本文将介绍Git几个核心概念…

ubuntu22.04下GStreamer源码编译单步调试

前言 本文会通过介绍在linux平台下的GStreamer的源码编译和单步调试example实例。官网介绍直接通过命令行来安装gstreamer可以参考链接&#xff1a;Installing on Linux。 这种方法安装后&#xff0c;基于gstreamer的程序&#xff0c;单步调试的时候并不会进入到gstreamer源码…

API 接口封装技术详解

一、引言 在现代软件开发中&#xff0c;API&#xff08;Application Programming Interface&#xff09;接口的使用越来越广泛。封装 API 接口可以提高代码的可维护性、可扩展性和安全性。本文将详细介绍 API 接口封装的技术和方法。 二、API 接口封装的目的 提高代码的可维护…

5G band与子载波间隔 SSB pattern 和GSCN范围说明-FR1

本期给大家带来一个FR1的band号与SSB子载波间隔 SSB pattern以及对应的GSCN范围说明一下&#xff0c;希望能给研究5G的你带来帮助 NR band号子载波间隔SS Block patternGSCN范围n115 kHzCase A5279 – <1> – 5419n215 kHzCase A4829 – <1> – 4969n315 kHzCase …

李飞飞:不要数字孪生,要数字表兄弟,一张照片生成机器人训练场景

我们很多人都听说过数字孪生&#xff08;digital twin&#xff09;&#xff0c;在英伟达等公司的大力推动下&#xff0c;这种高效运营工作流程的方法已经在很多工业场景中得到应用。 但你听说过数字表亲&#xff08;digital cousin&#xff09;吗&#xff1f; 近日&#xff0…

HTML/JS添加音乐

HTML/JS添加背景音乐 由于需要避免浏览器不必要的资源消耗&#xff0c;音乐播放必须要有事件触发 文章目录 HTML/JS添加背景音乐htmljs手机浏览器自动播放 html 在body中添加你的音乐 <body> <audio autoplay"autopaly" loop"loop" id"audio…

2024年【浙江省安全员-C证】复审考试及浙江省安全员-C证证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 浙江省安全员-C证复审考试是安全生产模拟考试一点通总题库中生成的一套浙江省安全员-C证证考试&#xff0c;安全生产模拟考试一点通上浙江省安全员-C证作业手机同步练习。2024年【浙江省安全员-C证】复审考试及浙江省…

vue3环境变量和模式

文章目录 一、vite文档介绍环境变量1.环境变量1.1创建文件 2.NODE_ENV 和 模式**2.1process.env.NODE_ENV&#xff08;Node.js 环境变量&#xff09;**2.2 **模式&#xff08;mode&#xff09;** 二、loadEnv获取环境变量&#xff08;针对在env文件夹下&#xff09;2.1创建环境…

FPGA图像处理之三行缓存

文章目录 一、前言二、FPGA实现三行缓存的架构三、Verilog代码实现四、仿真验证五、输入图像数据进行仿真验证 一、前言 在 FPGA 做图像处理时&#xff0c;行缓存是一个非常重要的一个步骤&#xff0c;因为图像输入还有输出都是一行一行进行的&#xff0c;即处理完一行后再处理…