整个Django的访问流程:

浏览器   urls:   http://127.0.0.1:8000/timer
url.py:
1, http://127.0.0.1:8000/timer GET 无请求数据
2,url匹配 url: url(r'^timer/',views.showtime)
3,showtime()函数
4,响应 时间字符换 浏览器 urls: http://127.0.0.1:8000/login
url.py:
1,http://127.0.0.1:8000/login/ GET 无请求数据
2,url匹配 url(r"^login",views.login)
3,login()函数
4,响应 login.html函数 返回的url是http://127.0.0.1:8000/valide
1,http://127.0.0.1:8000/valide POST 有请求数据{"user":"yangshuai"}类似于这种
2,url匹配 url(r"^valide",views.valide)
3,valide函数
4,响应页面

URL的详细讲解:

  urls这个文件如果引用的两个文件里有重名,可以起一个别名:from blog import views  as blog_views
   当如果多个规则都可以匹配成功的话,以第一条匹配成功的为准。

rl配置系统的无名分组:例如查找一个年份里的页面,可以利用正则表达式来进行

	url配置系统的有名分组:
根据关键字来传参
url(r"^article/(?P<year_id>\d+)/(?P<month_id>\d+)$", blog_views.article_year)
前面必须跟上?P<参数名> ,后面跟上$ 符号,这样才可以 映射分发:
当一个Django里边出现两个工程或者多个时,可以在每个项目里放入一个urls.py文件。
比如说现在有两个项目,一个blog,一个app01
总的url.py配置文件要定义的东西:
1,from django.conf.urls import url,include
2,urlpatterns = [
url(r'^admin/', admin.site.urls),
#路由分发app
url(r"^blog/",include(blog.urls))
]
3,在每个项目里创建urls.py
然后在里边写每个配置就行了
from blog import views as blog_views
from app01 import views as app01_views url反向解析:
url(r"^login.html/",app01_views.login,name="login")
后边的网页中需要这么写:
<form action="{% url 'login' %}" method='post'>

视图函数:

	请求对象(请求对象):
request.GET() :数据类型是字典 get请求数据
request.POST() :数据类型是字典 post请求数据
request.method() 请求方式
request.path 请求路径
request.get_full_path 请求全路径
响应对象(响应对象):
Httpresponse()
render():
template:模板
context:上下文对象
redict()

Day17 Django的基础使用和结构的更多相关文章

  1. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  2. Django web 基础

    一.Django概述 Django大而全; 创建Django工程:django-admin startproject sitename 创建django之后生成的目录结构如下: Project Pro ...

  3. Django笔记 —— 基础部分总结

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  4. 理解 angular2 基础概念和结构 ----angular2系列(二)

    前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...

  5. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

  6. Python开发【第二十一篇】:Web框架之Django【基础】

    Python开发[第二十一篇]:Web框架之Django[基础]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...

  7. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

  8. 用Django ORM实现树状结构

    前言 之前看对于用关系数据库实现树状结构的方法就知道一直做自关联的表,但是感觉自关联查询太慢了,最近看到一篇文章,感觉视野开拓了好多,文章:数据库表设计,没有最好只有最适合来自:微信. 下面就针对这里 ...

  9. Django 08 Django模型基础3(关系表的数据操作、表关联对象的访问、多表查询、聚合、分组、F、Q查询)

    Django 08 Django模型基础3(关系表的数据操作.表关联对象的访问.多表查询.聚合.分组.F.Q查询) 一.关系表的数据操作 #为了能方便学习,我们进入项目的idle中去执行我们的操作,通 ...

随机推荐

  1. Android程序崩溃异常处理框架

    目前我已经把框架放在了github了,地址如下:https://github.com/msdx/android-crash 使用方法见github上面的README.md. 本项目相关jar包已发布在 ...

  2. Cocos2D:塔防游戏制作之旅(八)

    如果所有东西通过检查,则创建一个新炮塔,将它放置在基座上,然后添加到towers数组中. 注意:在方法最后的bridge语法需要做一些解释.你下载的初始项目已经为一 些文件打开ARC,但不是Cocos ...

  3. Oracle Instance

    以前也学习过oracle 逻辑结构的知识,但用的不多好多都是有点概念,最近做到一个跨instance工作流,所有抽点时间温习了一下相关知识,把网上看到的感觉讲的还比较明了,全面的文章汇总一下 inst ...

  4. 利用HTP工具包开发报表

    利用这种方式的优点是不需要跑请求就可以打印报表 工具包中常用程序说明 htp.print 语法   htp.print (cbuf | dbuf | nbuf); 作用   generates a l ...

  5. Leetcode_13_Roman to Integer

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41486885 通过本文你可能学到的知识如下: (1)理解本 ...

  6. 网易内推(Android) 拿offer

    学校BBS上师兄发网易内推,凑下热闹投了一发 一面:电话面 大概25分钟,感觉面试官气场很足,主要关注了其中一个 个人开源项目 1.自我介绍 2.说说你做的这个项目 当时谈到使用到了开源框架xtuil ...

  7. AngularJS进阶(三十四)Angular数据更新不及时问题探讨

    Angular数据更新不及时问题探讨 前言 在修复控制角标正确变化过程中,发觉前端代码组织层次出现了严重问题.传递和共享数据时自己使用的是rootScope,为此造成了全局变量空间的污染.根据< ...

  8. Mahout系列之----距离度量

       x = (x1,...,xn) 和y = (y1,...,yn) 之间的距离为 (1)欧氏距离   EuclideanDistanceMeasure (2)曼哈顿距离  ManhattanDis ...

  9. 对嵌入式开发C语言结构体的一点总结

    今天冬至居然不上班,公司的良心啊!这回有心情写博客和日志了,好了,废话不多说.直接看下文: 鉴于嵌入式开发过程中,C语言结构体的使用当然是必不可少.话说,基础什么的比你会更牛逼的算法更重要,基础不牢, ...

  10. Java进阶(五十一)必须记住的Myeclipse快捷键

    Java进阶(五十一)必须记住的Myeclipse快捷键 在调试程序的时候,我们经常需要注释一些代码,在用Myeclipse编程时,就可以用 Ctrl+/ 为选中的一段代码加上以 // 打头的注释:当 ...