热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Djangoone

WEB-Django:Http协议:http协议:超文本传输协议,基于TCPIP通信协议来传递数据特点:1.灵活࿱

WEB-Django:

    Http协议:

        http协议:超文本传输协议,基于TCP/IP通信协议来传递数据

        特点:

            1.灵活:允许传输任意类型的数据对象。正在传输的类型有Content-Type标记

            2.无连接:每次连接只处理一个请求,服务器处理完请求后,即断开来接,直到下一次客户端的请求。

            3.无状态:指对事物处理没有记忆能力,后续处理需要前面的信息就必须重新传递。

    请求协议:

        请求行首:请求方式 请求路径 协议和版本 GET /index.html HTTP/1.1

        请求头信息:请求头名称,请求头内容

        空行:用于请求头和请求体分隔

        请求体:post请求才有请求体

    HTTP响应:

        状态行,消息报头,空行,响应正文

    MTV:

        model:负责业务对象与数据库对象

        template:负责页面渲染传递给前端显示

        view:负责处理业务逻辑,适当的调用model和template

    django请求生命周期:

        在页面输入URL->根据URL在路由系统匹配相应的view->view处理逻辑并有可能到model获取数据->

        model通过ORM到数据库获取数据并返回给view->view将获取到的数据进行处理传送到模板template进行渲染->

        再由template发送到客户端即(浏览器)进行渲染。

    其他:

        1.#设置项是否开启URL访问地址后面不为/跳转至带有/的路径  APPEND_SLASH=True

        2.每个捕获的参数都作为一个普通的Python 字符串传递给视图,无论正则表达式使用的是什么匹配方式

        3.media的配置

            MEDIA_URL="/media/"

            MEDIA_ROOT=os.path.join(BASE_DIR,"app01","media","upload")

        4.二级路由匹配 url(r'^blog/', include('blog.urls')),

        5.有名分组:url(r'^articles/(?P[0-9]{4})/$', views.year_archive),

        6.带有别名路由:url(r'^articles/(?P[0-9]{4})/$', views.year_archive,name='year_archive'),

        7.反向解析URL: return redirect(reverse('news-year-archive', args=(year,)))

        8.request方法:

            .path:请求页面的全路径,不包括域名

            .method:请求方式,'GET''POST'

            .GET:包括GET参数的字典对象

            .POST:包括POST参数的字典对象

            .COOKIES 包含所有的COOKIEs ,key和value都是字符串

            .FILES .filename 上传文件名; content_type 上传文件的content type; .content:上传文件的原始内容

            .user

            .session

            .request.POST.getlist('hobby') :当值时多个时如checkbox,select

    模板过滤:

        1.default:如果变量是False或者为空时,使用给定的默认值

            {{value|default:12}}

        2.length:返回值的长度,包括字符串和列表

            {{list|length}}

        3.filesizeformat:将值格式化为一个可读文件尺寸,如果value是123456789 输出117.7M

            {{value|filesizeformat}}

        4.data:如果 value=datetime.datetime.now()

            {{ value|date:"Y-m-d" }}

        5.slice

            {{ value|slice:"2:-1" }}

        6.truncatechars:如果字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾

            {{ value|truncatechars:9 }}

        7.safe:表示安全,允许被渲染

            {{value|safe}}

        8.for...enpty...endfor:

            for带有一个可选{%enpty%},以便于在给出的组是空的或者没有被找到时,有所操作。

        9.反向for循环

            {%for item in list reversed%} {%endfor%}

        10.便利一个字典

            {%for key,val in dic.items%} {%endfor%}

       

    自定义标签和过滤器

        1.在setting中的INSTALLED_APPS配置app,不然django无法找到自定义的simple_tag

        2.在app中创建templatetags模块,名字不可变

        3.在templatetags中创建.py文件,如my_tags.py

        4.在my_tags.py 中导入并注册

            for django import template

            for django.utils.safestring import mark_safe

            register = template.Library

        5.在函数头加装饰器

            @register.simple_tag

            @register.filter

        6.创建函数

            @register.filter

            def filter_multi(v1,v2):

                return v1*v2

               

            @register.simple_tag

            def simple_tag_multi(v1,v2):

                return v1*v2

        7.调用自定义标签

            {%load my_tags%}

            #num=12

            {{num|filter_multi:2}} #24

            {%simple_tag_multi num 2%} #24 参数不限,但不能放在if for 语句中

           

            {% if num|filter_multi:30>100%}

                {{num|filter_multi:30}}

            {%endfor%}

       

转:https://www.cnblogs.com/mihon/p/8980842.html



推荐阅读
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
author-avatar
稚气忖托气质_844
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有