urlpatterns = [
  url(正则表达式, views视图函数,参数,别名),
]

 

 

参数说明:

 

  • 一个正则表达式字符串
  • 一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
  • 可选的要传递给视图函数的默认参数(字典形式)
  • 一个可选的name参数

 

http请求中产生两个核心对象:

        http请求:HttpRequest对象

        http响应:HttpResponse对象

所在位置:django.http

之前我们用到的参数request就是HttpRequest    检测方法:isinstance(request,HttpRequest)

 

 

1:

配置:url(r'^index', views.index),

例:

def index(self):

return render(self,'index.html')

 

 

2:

增加1个参数;使用括号

配置:url(r'^year/([0-9]{3,4})/$', views.year),

例:([0-9]{3,4}) 会传递给year

def year(self,year):

return HttpResponse(year+"year")

浏览器访问:

http://127.0.0.1/year/2017/

 

 

3:

增加2个参数

配置:url(r'^year/([0-9]{3,4})/([0-9]{1,4})', views.month),

例:([0-9]{3,4})/([0-9]{1,4}) 分别会传递给year,month

def month(self,year,month):

return HttpResponse(year+"year"+" "+month+"month")

浏览器访问:

http://127.0.0.1/year/2017/08/

 

 

 

4:

增加2个分组参数;view接收参数的时候,必须要跟分组参数定义名字相同

配置:url(r'^attr/(?P<id>[0-9]{2})/(?P<name>[0-9]{2})',views.arrt),

例:分组id(?P<id>[0-9]{2}) 和name (?P<name>[0-9]{2})分别传递给id,name

def arrt(self,id,name):

return HttpResponse('id:'+ id + "name:"+name)

浏览器访问:

http://127.0.0.1/attr/17/09/

 

 

5:

另外一种接收参数;增加1个参数,view接收参数的时候,必须要跟分组参数定义名字相同

配置:url(r'^self/',views.self,{'name':'good'}),

例:{'name':'good'} 值会传递给 name

def self(self,name):

return HttpResponse("name:"+name)

浏览器访问:

http://127.0.0.1/self/

 

 

 

6:

增加1个分组参数,在增加一个形式参数;view接收参数的时候,必须要跟分组参数定义名字和形式参数相同

配置:url(r'^js/(?P<id>[0-9]{2})',views.js,{'js':'GO'}),

例:分组id(?P<id>[0-9]{2})会传递给id,{'js':'GO'}会传递给js

def js(self,id,js):

return HttpResponse('id:'+id+"js:"+js)

浏览器访问:

http://127.0.0.1/js/17/

 

 

 

7:

增加别名,给html中的Form表单中的action使用

配置:url(r'^cs',views.cs,name='cname'),

例:cname会通过模版渲染后添加到Form表单中的action中,action中要{% url "cname" %}表单,写cname值不是写name

def cs(self):

if self.method == 'POST':

username = self.POST.get('username',None)

print(username)

return render(self,'cs.html')

html写法:

<form action={% url "cname" %} method="post">

<input type="text" name="username">

<input type="submit" value="submit">

</form>

渲染结果:

 

 

 URL 路由分发

from django.conf.urls import url,include

1 url(r'^app/', include('app.urls')),

 

 

 

app里面操作

from app import views

 

Django url的更多相关文章

  1. Django Url编码问题

    Django Url编码问题   最近在学习Django,写一个blog程序练练手手.对于一个才开始接触web开发的来说,难免会遇到一些问题.   有一个这样的模板: {%for k,v in cat ...

  2. Django URL(路由系统)

    Django URL Django 1.11版本 URLconf官方文档 URL配置(URLconf)就像 Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的 ...

  3. python :Django url /views /Template 文件介绍

    1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...

  4. 第五篇Django URL name 详解

    Django URL name 详解 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护. Djan ...

  5. django url路径与模板中样式相对路径的问题

    static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的ur ...

  6. Python自动化之django URL

    URL url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail) 会把(?P\d+)和(?P\d+)传到后台 需 ...

  7. Django URL name详解

    我们基于上一节的代码来开始这一节的内容. 上节源代码:zqxt_views(django 1.4 - django 1.10).zip [更新于 2016-09-06 00:13:23] 1. 打开 ...

  8. django url.py使用

    主要对象:patterns和url url有两个主要的参数,第一个是正则模板,第二个是处理的方法 他们的对应关系是,当我们在浏览器当中url的形式与正则相匹配时 就转向处理方法 如果url.py中的值 ...

  9. Django URL传递参数的方法总结(转)

    1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello)   def hello(request): return HttpResponse("He ...

  10. Django url()函数详解

    url()函数看起来的格式象: url(r^/account/$', views.index, name=index) ,它可以接收四个参数,分别是两个必选参数: regex . view 和两个可选 ...

随机推荐

  1. docs actifio

    http://docs.actifio.com/ https://www.actifio.com/resource-center/

  2. Devexpress之LayoutControl的使用及其控件布局设计

    引言 Devexpress给我们提供了更加美观.更加丰富控件,但在学习和使用的同时经常会遇到诸多麻烦.今天在使用Devexpress的LayoutControl控件进行界面控件的布局设计时遇到了如下的 ...

  3. RESTful API浅谈

    一.REST的由来 全称:REST,全称是Resource Representational State Transfer,即:资源在网络中以某种形式进行状态转移.————所谓状态的转移,可参考< ...

  4. java-log4j日志打印

    参考路径: https://blog.csdn.net/edward0830ly/article/details/8250412 https://www.cnblogs.com/ITtangtang/ ...

  5. redis订阅发布消息操作本地缓存

    Redis 本地缓存+远程缓存方案 使用纯java的ehcache作为本地缓存 Reids 作为远程分布式缓存 解决redis缓存压力过大,提高缓存速度,以及缓存性能. Redis和ehcache缓存 ...

  6. mysql doc

    https://www.cnblogs.com/JiangLe/p/9851958.html

  7. h5需要的浏览器插件

    google浏览器插件: web前段助手.vue-tools.草料二维码

  8. 【java】之位运算^,&,<<,>>,<<<,>>>总结

    1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算 ...

  9. 利用微信支付的订单查询接口可以在APP 中提高支付的可靠性

    最近公司有一个应用,用户可以在微信公众号上面下单,也可以在APP 中下单. 当用户在公共号上面下单时,微信支付成功可以返回微信支付单号,但是在APP 中用户微信支付时,个别时候会出现用户已经付款成功, ...

  10. iview 3.x InputNumber数字框bug

    iview 3.X 版本中InputNumber 数字框组件存在bug,把最小值设置为0.2时,数组框禁止点击,其他数字都是正常.