浏览器 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,响应页面
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()
原文:http://www.cnblogs.com/sexiaoshuai/p/7811926.html