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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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;即处理完一行后再处理…

Linux 安装 JDK 环境

最近有小伙伴不怎么会在 Linux 服务器安装 JDK 环境&#xff0c;小格子给大家总结分享一下&#xff0c;下次直接看这篇文章就可以了。下面以 CentOS 为例。 1. 下载 JDK 安装包 由于 JDK1.8.202 是最后一个免费版本&#xff0c;建议下载此版本。由于在 Oracle 官方网站下载需…

JS | JS之元素偏移量 offset 系列属性详解

目录 一、offset 概述 定位父级 offsetParent 偏移量 offsetWidth offsetHeight offsetLeft offsetTop 计算页面偏移 注意事项 二、offset 与 style 区别 偏移offset 样式style 三、案例 ★ 案例&#xff1a;获取鼠标在盒子内的坐标 ★ 案例&#xff1a;模态框…

软件测试学习笔记丨Pytest的使用

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/22158 1. 简介 pytest是一个成熟的全功能python测试框架测试用例的skip和xfail&#xff0c;自动失败重试等处理能够支持简单的单元测试和复杂的功能测试&#xff0c;还可以用来做selenium/ap…

2024互联网大厂营收排名:京东/阿里/华为前三,超多技术岗都在热招!

2024年已经过去一大半&#xff0c;各大互联网大厂的竞争如火如荼&#xff0c;营收都取得了不俗的成绩&#xff0c;京东、阿里、华为分别占领前三&#xff01; 第四第五名则为华为和拼多多。 根据排行榜里的公司名单&#xff0c;小码特意为大家整理了一批各大厂的招聘岗位。 阿…

【论文#快速算法】Fast Intermode Decision in H.264/AVC Video Coding

目录 摘要1.前言2.帧间模式决策概览2.1 H.264/AVC中的帧间模式决策2.2 发现和动机 3.同质性和平稳性的确定3.1 同质性区域的确定3.2 稳定性区域的决定3.3 整体算法 4.实验结果4.1 IPPP序列的测试4.2 IBBP序列测试 5.结论 《Fast Intermode Decision in H.264/AVC Video Coding》…

基础数据结构——数组(动态数组,二维数组,缓存与局部性原理)

1.概述 在计算机科学中&#xff0c;数组是由一组元素&#xff08;值或变量&#xff09;组成的数据结构&#xff0c;每个元素有至少一个索引或键来标识 因为数组内的元素是连续存储的&#xff0c;所以数组中元素的地址&#xff0c;可以通过其索引计算出来&#xff0c;例如&…

生产力工具|vscode for mac的安装python库和使用虚拟环境(一)

一、在vscode中运行python代码&#xff08;mac或windows&#xff09; &#xff08;一&#xff09;在vscode中安装Python插件 若想在vscode中高效率的编辑Python代码&#xff0c;需要安装Python插件&#xff0c;点击下图中红框内的按钮&#xff1a; 然后在左上角的搜索框中输入…

Vue前端开发2.1 单文件组件

文章目录 一、单文件组件概念二、单文件组件构成1. 模板&#xff08;Template&#xff09;2. 样式&#xff08;Style&#xff09;3. 逻辑&#xff08;Script&#xff09; 三、单文件组件演示1. 创建Vue项目2. 启动Vue项目3. 用VS Code打开项目4. 清空样式文件代码5. 创建欢迎组…

【redis】热点key问题

【redis】热点key问题 【一】什么是热点key问题【二】什么样的key被称为热key【三】热点Key问题的危害【四】如何监控发现热点key【五】热点Key的解决方案【1】使用二级缓存【2】将热key分散到不同的服务器中【3】热key拆分【4】将核心/非核心业务做Redis的隔离 【六】业界已有…