当前位置: 首页 > news >正文

教育培训网站建设方案鞍山建设信息网站

教育培训网站建设方案,鞍山建设信息网站,WordPress会员注册去掉邮箱,做网站用jsp和html一、视图层 1.1 响应对象 响应---》本质都是 HttpResponse -HttpResponse---》字符串 -render----》放个模板---》模板渲染是在后端完成 -js代码是在客户端浏览器里执行的 -模板语法是在后端执行的 -redirect----》重定向 -字符串参数不是…一、视图层 1.1 响应对象 响应---》本质都是 HttpResponse     -HttpResponse---》字符串     -render----》放个模板---》模板渲染是在后端完成         -js代码是在客户端浏览器里执行的         -模板语法是在后端执行的     -redirect----》重定向         -字符串参数不是是空的         -状态码是 3开头     -JsonResponse---》json格式数据         return JsonResponse({name:lqz,age:19})         -本质是把传入的字典或列表(必须指定safeFalse)使用json序列化得到json格式字符串--》最终做成HttpResponse返回给前端---》如果想给json序列化的时候传参数必须使用json_dumps_params字典传入         -如果想往响应头中写数据---》需要传headers{xx:xx} 1.2  JsonResponse源码分析 return JsonResponse({name:lqz,age:19}) # 触发 JsonResponse的__init__---{name:lqz,age:19}给了data def __init__(self, data, encoderDjangoJSONEncoder, safeTrue,json_dumps_paramsNone, **kwargs):# 如果传入的四字典# safe是True后面是False条件不符合内部就不会走if safe and not isinstance(data, dict):raise TypeError(In order to allow non-dict objects to be serialized set the safe parameter to False.)if json_dumps_params is None: # 条件符合json_dumps_params {}# kwargs是字典---》setdefault--》有则修改无则新增kwargs.setdefault(content_type, application/json)# 核心---》把字典转成json格式字符串赋值给datadata json.dumps(data, clsencoder, **json_dumps_params)# super().__init__ 调用父类的 __init__ 完成实例化---》HttpResponse的对象return HttpResponse(data,**kwargs)super().__init__(contentdata, **kwargs) 1.3  cbv和fbv # fbv:基于函数的视图     之前写的全是fbv # cbv基于类的视图     后续全是cbv      # cbv写法典型 from django.views import View class UserView(View):     # 写方法---》跟请求方式同名的方法     def get(self,request,*args,**kwargs)         必须返回四件套          #路由配置 path(index/, 视图类名.as_view()) # as_view是类的绑定方法 # 执行流程--》源码分析 path(index/, index),---请求来了路由匹配成功会执行 index(request,)  path(index/, UserView.as_view()), # 1 入口路由---》as_view来开始     -请求来了路由匹配成功---》执行---》UserView.as_view()(request)     -需要看as_view()执行结果是什么--》view--》代码如下         def view(request, *args, **kwargs): # 方法可以加括号调用            return self.dispatch(request, *args, **kwargs)     -本质就是在执行 view(request)     -本质在执行---》self.dispatch(request, *args, **kwargs)     -去类UserViwe类中找找不到去父类View中找dispatch代码如下     def dispatch(self, request, *args, **kwargs):         # request当次请求的请求对象取出请求方式【假设是get请求】转成小写 get         # http_method_names [get, post, put]         # 条件成立执行if内部代码         if request.method.lower() in self.http_method_names:             #getattr反射---》通过字符串去对象中取属性或方法             # self是谁的对象 是View这个类的对象这个是视图类UserView的对象             # 取出来的handler 是 UserView这个类的get方法             handler getattr(self, get)         else:             handler self.http_method_not_allowed         # handler是 UserView这个类的get方法         # get(request)---》触发UserView这个类的get方法---》真正执行原来视图函数的内容         # 最终返回         return handler(request, *args, **kwargs) 二、 模板层  2.1 介绍 模板在浏览器中是运行不了的---》因为它有 模板语法---》浏览器解析不了模板语法 须在后端渲染完成(替换完成)---》变成纯粹的htmlcssjs  这种在后端会被渲染的  类python语法  它叫 模板语法---》django中它又叫  dtldjango template language 2.2 了解 django模板修改的视图函数from django.template import Template,Contextnowdatetime.datetime.now()内部打开了这个模板---》读出所有内容实例化得到了t对象tTemplate(htmlbody现在时刻是:h1{{current_date}}/h1/body/html)#tget_template(current_datetime.html)cContext({current_date:str(now)})htmlt.render(c)return HttpResponse(html)另一种写法(推荐)import datetimenowdatetime.datetime.now()return render(req, current_datetime.html, {current_date:str(now)[:19]})总结咱们之前这么写 render(request,模板名字,context{key:value,key1:value})本质是tTemplate(htmlbody现在时刻是:h1{{current_date}}/h1/body/html)cContext({current_date:str(now)})htmlt.render(c) # 返回是字符串HttpResponse(html) 2.3  页面静态化 把什么页面做成静态化的---》访问量高的页面     -目的提高项目并发量响应速度和效率就高了     -把首页静态化 def index(request):# 1 判断 cache文件夹下有没有 index.html 纯静态页面# 2 如果没有干下面的事# books Book.object.all()# t Template(htmlbody现在时刻是:h1{{current_date}}/h1/body/html)# # #tget_template(current_datetime.html)# c Context({books:books})# html t.render(c)#保存到某个文件中 cache文件夹下 index.html # 3 如果有那个文件打开文件---》HttpReponsebooksBook.object.all()return render(request,index.html,{books:books}) 2.4  模板语法 变量{{ 变量名 }}   字典列表对象 通过.拿到属性或方法 字典dic.name---这不是python语法    dic[name]    dic.get(name) 列表list.2---这不是python语法      list[0] 对象person.name----是python语法     person.run----不是python语法会自动加括号把run的返回值放在模板中  person.run()     不支持传参数      1 深度查询 用句点符 2 过滤器 3 标签% % 2.5 内置过滤器 render(request,index.html,{now:当前时间对象}) {{ now | date:Y-m-d H:i:s }} safe  把标签字符串 渲染成标签 a href/a---渲染成标签 dtl是不存在xss攻击的跨站脚本攻击后端 s script     alert(1) /script render(request,index.html,{s:s}) 模板 {{s}}   不会渲染成标签没有xss攻击 我们知道s是安全的我们可以使用safe标签把它渲染成 真正的标签 标签---for  if ...  for和if用法是重点     {% %} 2.5继承  三、 每日作业 3.1  写一个类实现JsonResponse 功能不需要传safeFalse无论字典或列表都能完成序列化返回给前端 class My_jsonrespinse(HttpResponse):def __init__(self,data, safeTrue,json_dumps_paramsNone,**kwargs):if safe and not isinstance(data,(dict,list)):raise TypeError(需要使用字典或列表)if json_dumps_params is None:json_dumps_params {}kwargs.setdefault(content_type,application/json)data json.dumps(data,**json_dumps_params)super().__init(contentdata,**kwargs)def my_JsonResponse(request):return My_jsonrespinse([1,23,4],json_dumps_params{ensure_ascii:False}) 3.2  四种情况在响应头返回数据 HttpResponsecontent:返回的内容conten_type:返回的数据的mime类型‘staus_code:返回的HTTP响应状态码render返回网页redirect重定向 redirect其实也是一个HttpResponse对象 JsonResponse: 返回 Json 格式数据 3.3  绑定给类的方法类来调用对象可以调用吗如何用 可以 凡是类中的方法和函数都是绑定给对象使用的绑定方法都有自动传值的功能。传递进去的值就是对象本身。如果类想调用绑定方法就必须遵循函数的参数规则有几个参数就必须传递几个参数。 3.4  绑定给对象的方法对象来调用类可以调用吗如何用、 可以需要传参数
http://www.zqtcl.cn/news/785670/

相关文章:

  • 中国建站平台邯郸现代建设集团网站
  • 爱站seo排名可以做哪些网站宁波网站怎么建设
  • 洛阳市伊滨区建设局网站企业集团网站源码
  • 做修图网站电脑配置wordpress后台登录页面美化
  • 中国十大物联网公司广州网站快速排名优化
  • 发帖网站有哪些wordpress提请审批
  • 网页设计网站导航怎么弄红色字体的内蒙古住房与建设厅网站
  • 微信网站什么做百度官网认证
  • 怎么提升网站流量做五金建材市场的网站
  • 网站合作流程h5网站怎么做api对接
  • asp.net 网站 结构手机客户端网站建设
  • 图片网站怎么做SEO参与网站建设注意
  • 网站界面设计案例教程wordpress更新报错
  • Dw做网站怎么加logo如何申请小程序店铺
  • 官方网站下载官方版本wordpress文字可以动的插件
  • 企业网站模板 免费下载网站建设服务采购方案模板下载
  • 在万网申请的域名_需要把万网的账户密码给做网站的吗做鱫视频网站
  • 网站建设360wordpress 音乐下载主题
  • 站群推广wordpress换logo
  • 苏州网站建设丶好先生科技电脑怎样做幻灯片的网站
  • 什么网站可以做线上邀请函大米网络营销推广方案
  • .net做网站实例 贴吧软件开发前景和发展
  • 合肥快速建站模板软件开发文档编制
  • 深圳免费网站设计平板做网站服务器
  • 注册或者浏览社交类网站时不恰当威宁做网站
  • 国外的电商网站有哪些方面沈阳医疗网站制作
  • 那个企业网站是用vue做的网站频道运营怎么做
  • 英语培训学校网站怎么做网站建建设公司和网络自建
  • 无法访问iis网站网站吸引客户
  • 郑州企业网站排名优化wordpress指定文章