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<year>[0-9]{4})/$', views.year_archive),

6.带有别名路由:url(r'^articles/(?P<year>[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%}

Django one的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  8. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  9. Django

    一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...

  10. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

随机推荐

  1. Spring中统一相同版本的api请求路径的一些思考

    Spring中统一相同版本的api请求路径的一些思考 问题场景 当我们在实际开发中,可能会遇到开发相同同版本的api, 假设相同版本的api请求路径为/v1/functionA,/v1/functio ...

  2. Spring 整合 Quartz 实现动态定时任务(附demo)

    最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 普通定时任务 首先 ...

  3. U3D加载服务器上的assetbundle

    在Unity3D中,如果加载服务器上的AssetBundle,总是会提示找不到crossdomain.xml文件,即使添加了该文件,也会报同样的错误.属于跨域访问报错的问题. 官方的解决方案如下: h ...

  4. SQL Server数据库log shipping 灾备(Part1 )

    1.概述 Log Shipping为SQL Server提供的数据库备份过程.它可以将数据库整个复制到另一台服务器上.在这种情况下,交易日志也会定期发送到备份服务器上供恢复数据使用,这使得服务器一直处 ...

  5. JavaScript_10_错误

    Try...catch... throw <!DOCTYPE html> <html> <head> <title></title> < ...

  6. Cesium左右立体视觉续篇——遗留问题(渲染错误)以及临时替代方案

    遗留问题详细说明 已解决部分 立体视觉中的视差: 横向渲染压缩. 遗留问题 1.左右分屏中的部分地图切片未渲染 问题描述:如下图(图片为解决问题后的图片),红色区域会显示黑色,无法正常显示影像.2.相 ...

  7. 2012-2013 ACM-ICPC, NEERC, Central Subregional Contest J Computer Network1 (缩点+最远点对)

    题意:在连通图中,求一条边使得加入这条边以后的消除的桥尽量多. 在同一个边双连通分量内加边肯定不会消除桥的, 求边双连通分量以后缩点,把桥当成边,实际上是要选一条最长的链. 缩点以后会形成一颗树,一定 ...

  8. WINDOWS-基础:SafeArray的使用方法

    1 SafeArray的作用 使用SafeArray SafeArray是VB中的数组存储方式.通过SafeArray,可以在VC++和VB间相互调用. SafeArray也是Automation中的 ...

  9. js类型判别大合集

    1.typeof number,string,boolean,undefined,symbol,object,function 对象中除了函数为function,其他对象都判别为object, 缺陷: ...

  10. 2019.05.26 周日--《阿里巴巴 Java 开发手册》精华摘要

    一.写在开头 Java作为一个编程界最流行的语言之一,有着很强的生命力.代码的编写规范也是不容忽视的,今天,我就把自己阅读的国内的互联网巨头阿里巴巴的<阿里巴巴 Java 开发手册>一些精 ...