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

免费外贸网站wordpress手机投稿

免费外贸网站,wordpress手机投稿,企业建设网站有什么好处,如何建网站1.视图 视图负责接受Web请求HttpRequest#xff0c;进行逻辑处理#xff0c;返回Web响应HttpResponse给请求者响应可以是一张网页的HTML内容#xff0c;一个重定向#xff0c;一个404错误等 视图就是python中的函数视图一般被定义在“应用/views.py”文件中 视图的第一个…1.视图 视图负责接受Web请求HttpRequest进行逻辑处理返回Web响应HttpResponse给请求者响应可以是一张网页的HTML内容一个重定向一个404错误等 视图就是python中的函数视图一般被定义在“应用/views.py”文件中 视图的第一个参数必须为HttpRequest实例还可能包含下参数如 通过正则表达式组获得的关键字参数通过正则表达式组获取的位置参数视图必须返回一个HttpResponse对象或子对象作为响应 视图处理过程如下图 使用视图时需要进行两方面操作两个操作不分先后 配置URLconf在“应用/views.py”中定义视图 2.URLconf 配置 定义urlpatterns列表存储url()对象这个名称是固定的urlpatterns中的每个正则表达式在第一次访问它们时被编译这使得运行很快 语法 语法一包含一般在自定义应用中创建一个urls.py来定义url这种语法用于test3/urls.py中目的是将应用的urls配置到应用内部数据更清晰并且易于维护 url(正则,include(应用.urls)) 语法二定义指定正则和视图的对应关系在应用内部创建urls.py文件指定请求地址与视图的对应关系 url(正则,视图名称) 说明1正则部分推荐使用r表示字符串不转义这样在正则表达式中使用\只写一个就可以说明2不能在开始加反斜杠推荐在结束加反斜杠 正确index/ 正确index 错误/index 错误/index/ 获取值 请求的url被看做是一个普通的python字符串进行匹配时不包括域名、get或post参数每个捕获的参数都作为一个普通的python字符串传递给视图如请求地址如下 http://127.0.0.1:8000/1/?a10 去除掉域名和参数部分后只剩下如下部分与正则匹配 /1/ 获取值需要在正则表达式中使用小括号分为两种方式 位置参数关键字参数 注意两种参数的方式不要混合使用在一个正则表达式中只能使用一种参数方式 方式一位置参数 直接使用小括号通过位置参数传递给视图为了提取参数修改上面的正则表达式如下 url(r^(\d)/$,views.show1), 方式二关键字参数 在正则表达式部分为组命名修改正则表达式如下其中?P部分表示为这个参数定义的名称为id可以是其它名称起名做到见名知意 url(r^(?Pid1\d)/$,views.show1), 3.内置错误视图 Django内置处理HTTP错误的视图主要错误及视图包括404错误page not found视图将请求地址进行url检测后没有找到匹配的正则表达式500错误server error视图在视图中代码运行报错400错误bad request视图来自客户端的安全方面非法操作如果想看到错误视图而不是调试信息需要修改配置/setting.py文件的DEBUG项 DEBUG False ALLOWED_HOSTS [*, ] 4.HttpReqeust对象 服务器接收到http协议的请求后会根据报文创建HttpRequest对象这个对象不需要我们创建直接使用服务器构造好的对象使用就可以 视图的第一个参数必须是HttpRequest对象 在django.http模块中定义了HttpRequest对象的API 属性 下面除非特别说明属性都是只读的path一个字符串表示请求的页面的完整路径不包含域名method一个字符串表示请求使用的HTTP方法常用值包括GET、POST         在浏览器中给出地址发出请求采用get方式如超链接         在浏览器中点击表单的提交按钮发起请求如果表单的method设置为post则为post请求encoding一个字符串表示提交的数据的编码方式    如果为None则表示使用浏览器的默认设置一般为utf-8    这个属性是可写的可以通过修改它来修改访问表单数据使用的编码接下来对属性的任何访问将使用新的encoding值GET一个类似于字典的对象包含get请求方式的所有参数POST一个类似于字典的对象包含post请求方式的所有参数FILES一个类似于字典的对象包含所有的上传文件COOKIES一个标准的Python字典包含所有的cookie键和值都为字符串session一个既可读又可写的类似于字典的对象表示当前的会话只有当Django 启用会话的支持时才可用详细内容见“状态保持” Http定义了与服务器交互的不同方法最基本的方法有4种GETPOSTPUTDELETE。URL全称是资源描述符可以认为一个URL地址它用于描述一个网络上的资源而HTTP中的GETPOSTPUTDELETE就对应着对这个资源的查改增删。所以GET一般用于获取/查询资源信息而POST一般用于更新资源信息。GET方法是通过改写URL的方式实现的。GET的数据利用URL?变量名变量值的方法传输。可以用来用于传输一些不重要的数据。POST方法用于从客户端向服务器提交数据。使用POST方法时URL不再被改写。数据位于http请求的主体。 5、QueryDict对象 定义在django.http.QueryDict HttpRequest对象的属性GET、POST都是QueryDict类型的对象 与python字典不同QueryDict类型的对象用来处理同一个键带有多个值的情况 方法get()根据键获取值 如果一个键同时拥有多个值将获取最后一个值如果键不存在则返回None值可以设置默认值进行后续处理 dict.get(键,默认值) 可简写为dict[键] 方法getlist()根据键获取值值以列表返回可以获取指定键的所有值如果键不存在则返回空列表[]可以设置默认值进行后续处理 dict.getlist(键,默认值) 5.1GET属性 请求格式在请求地址结尾使用?之后以“键值”的格式拼接多个键值对之间以连接例网址如下 http://www.xinlang.cn/?a10b20cpython 其中的请求参数为 a10b20cpython 分析请求参数键为a、b、c值为10、20、python在Django中可以使用HttpRequest对象的GET属性获得get方式请求的参数GET属性返回QueryDict类型的对象键和值都是字符串类型 键是开发人员在编写代码时确定下来的值是根据数据生成的 5.2POST属性 使用form表单请求时method方式为post则会发起post方式的请求需要使用HttpRequest对象的POST属性接收参数POST属性返回QueryDict类型的对象问表单form如何提交参数呢答控件name属性的值作为键value属性的值为值构成键值对提交如果控件没有name属性则不提交对于checkbox控件name属性的值相同为一组被选中的项会被提交出现一键多值的情况 键是控件name属性的值是由开发人员编写的值是用户填写或选择的 6.HttpResponse对象 视图在接收请求并处理后必须返回HttpResponse对象或子对象在django.http模块中定义了HttpResponse对象的APIHttpRequest对象由Django创建HttpResponse对象由开发人员创建 属性 content表示返回的内容charset表示response采用的编码字符集默认为utf-8status_code返回的HTTP响应状态码content-type指定返回数据的的MIME类型默认为text/html 方法 init创建HttpResponse对象后完成返回内容的初始化set_cookie设置Cookie信息write向响应体中写数据cookie是网站以键值对格式存储在浏览器中的一段纯文本信息用于实现用户跟踪max_age是一个整数表示在指定秒数后过期expires是一个datetime或timedelta对象会话将在这个指定的日期/时间过期max_age与expires二选一如果不指定过期时间则关闭浏览器过期 set_cookie(key, value,max_ageNone, expiresNone) delete_cookie(key)删除指定的key的Cookie如果key不存在则什么也不发生 调用模板简写函数render 每次调用模板时都要执行加载、上下文、渲染三个步骤为了简化操作Django定义了render()函数封装了以上三个步骤的代码定义在django.shortcuts模块中 6.1子类JsonResponse 在浏览器中使用javascript发起ajax请求时返回json格式的数据此处以jquery的get()方法为例类JsonResponse继承自HttpResponse对象被定义在django.http模块中接收字典作为参数JsonResponse对象的content-type为‘application/json’ ajax代码执行过程如下 1.发起请求2.服务器端视图执行3.执行回调函数 6.2子类HttpResponseRedirect 当一个逻辑处理完成后不需要向客户端呈现数据而是转回到其它页面如添加成功、修改成功、删除成功后显示数据列表而数据的列表视图已经开发完成此时不需要重新编写列表的代码而是转到这个视图就可以此时就需要模拟一个用户请求的效果从一个视图转到另外一个视图就称为重定向Django中提供了HttpResponseRedirect对象实现重定向功能这个类继承自HttpResponse被定义在django.http模块中返回的状态码为302 重定向简写函数redirect 在django.shortcuts模块中为重定向类提供了简写函数redirect注返回首页redirect(/) 7.状态保持 浏览器请求服务器是无状态的。无状态指一次用户请求时浏览器、服务器无法知道之前这个用户做过什么每次请求都是一次新的请求。无状态的应用层面的原因是浏览器和服务器之间的通信都遵守HTTP协议。根本原因是浏览器与服务器是使用Socket套接字进行通信的服务器将请求结果返回给浏览器之后会关闭当前的Socket连接而且服务器也会在处理页面完毕之后销毁页面对象。有时需要保持下来用户浏览的状态比如用户是否登录过浏览过哪些商品等实现状态保持主要有两种方式在客户端存储信息使用Cookie在服务器端存储信息使用Session 7.1Cookie Cookie有时也用其复数形式Cookies指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据通常经过加密。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。Cookie是由服务器端生成发送给User-Agent一般是浏览器浏览器会将Cookie的key/value保存到某个目录下的文本文件内下次请求同一网站时就发送该Cookie给服务器前提是浏览器设置为启用cookie。Cookie名称和值可以由服务器端开发自己定义这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是否已经登录网站用户可能会得到提示是否在下一次进入此网站时保留用户信息以便简化登录手续这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品这些信息都会写入Cookies以便在最后付款时提取信息。 Cookie是存储在浏览器中的一段纯文本信息建议不要存储敏感信息如密码因为电脑上的浏览器可能被其它人使用Cookie以键值对的格式进行信息的存储 Cookie基于域名安全不同域名的Cookie是不能互相访问的如访问xinlan.cn时向浏览器中写了Cookie信息使用同一浏览器访问baidu.com时无法访问到xinlan.cn写的Cookie信息当浏览器请求某网站时会将本网站下所有Cookie信息提交给服务器典型应用记住用户名网站的广告推送说明点击示例网址这些广告推送的商品是基于你曾经在淘宝上点击的商品类别等条件筛选出来的看上去这是在凤凰网上访问淘宝网的Cookie但是事实不是这样的一般是采用iframe标签嵌套一个淘宝的广告页面到凤凰网的页面上所以淘宝的Cookie并没有被凤凰网读取到而是依然交给淘宝网读取的可以通过“开发者工具”查看元素 7.2Session 对于敏感、重要的信息建议要储在服务器端不能存储在浏览器中如用户名、余额、等级、验证码等信息在服务器端进行状态保持的方案就是Session 启用Session Django项目默认启用Session打开配置/settings.py文件在项MIDDLEWARE_CLASSES中启用Session中间件 禁用Session将Session中间件删除 存储方式 打开配置/settings.py文件设置SESSION_ENGINE项指定Session数据存储的方式可以存储在数据库、缓存、Redis等存储在数据库中如下设置可以写也可以不写这是默认存储方式 SESSION_ENGINEdjango.contrib.sessions.backends.db 存储在缓存中存储在本机内存中如果丢失则不能找回比数据库的方式读写更快 SESSION_ENGINEdjango.contrib.sessions.backends.cache 混合存储优先从本机内存中存取如果没有则从数据库中存取 SESSION_ENGINEdjango.contrib.sessions.backends.cached_db 依赖于Cookie 所有请求者的Session都会存储在服务器中服务器如何区分请求者和Session数据的对应关系呢答在使用Session后会在Cookie中存储一个sessionid的数据每次请求时浏览器都会将这个数据发给服务器服务器在接收到sessionid后会根据这个值找出这个请求者的Session结果如果想使用Session浏览器必须支持Cookie否则就无法使用Session了存储Session时键与Cookie中的sessionid相同值是开发人员设置的键值对信息进行了base64编码过期时间由开发人员设置 对象及方法 通过HttpRequest对象的Session属性进行会话的读写操作以键值对的格式写会话 request.session[键]值 根据键读取值 request.session.get(键,默认值) 清除所有会话在存储中删除值部分 request.session.clear() 清除会话数据在存储中删除会话的整条数据 request.session.flush() 删除会话中的指定键及值在存储中只删除某个键及对应的值 del request.session[键] 设置会话的超时时间如果没有指定过期时间则两个星期后过期如果value是一个整数会话将在value秒没有活动后过期如果value为0那么用户会话的Cookie将在用户的浏览器关闭时过期如果value为None那么会话永不过期 request.session.set_expiry(value) 使用Redis存储Session 会话还支持文件、纯cookie、Memcached、Redis等方式存储
http://www.huolong8.cn/news/39591/

相关文章:

  • 做外贸网站应该关注哪些地方网站开发+进度表
  • 东莞专业网站设计如何自己做免费网站
  • wordpress视频网站用什么播放器制作网站找哪家好
  • 淘宝客 wordpress网站设计素材网站解析
  • 青岛网站排名提升网络营销理论基础有哪些
  • 成都市双流区建设局官方网站电商是做什么的是什么意思
  • 房地产网站设计方案国外企业网站模板
  • 西安免费做网站电话网站模板怎么用
  • 阜阳网站建设费用ps网站首页设计图
  • 如何进入网站后台管理系统易企网站建设公司
  • 国外最火的网站网站开发工程师是什么内容
  • 海南住房和城乡建设厅网站登陆完整的品牌推广方案
  • dedecms怎么关闭网站网站建设全视频教程下载
  • 建立网站要什么条件和多少钱廊坊关键词优化服务
  • 揭阳制作公司网站企业外贸网络推广
  • 网站文章页图片不显示苏州建设监理有限公司网站
  • 网站建设与管理读书心得课程网站建设内容
  • 妇科医院手机网站wordpress 租赁主题
  • 推广型网站制作哪家好电商网站竞价推广策略
  • 优设设计网站导航深圳十大穷人区
  • 绿色软件园济南网站搜索优化
  • 网站空间公司api网站模板
  • 家装网站模板下载制作网站吗
  • 教师做爰网站网站开发的最后五个阶段
  • 服装官网网站建设网站建设彩票网
  • 杭州企业网站设计制作宣传方式
  • 眉县做网站wordpress播放没声音
  • 婚庆类网站模板网页设计师培训机构费用价格多少
  • 域名备案进度查询哪里有做网站排名优化
  • 做ppt的模板网站在网站和网页的区别