Django url
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")
浏览器访问:
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的更多相关文章
- Django Url编码问题
Django Url编码问题 最近在学习Django,写一个blog程序练练手手.对于一个才开始接触web开发的来说,难免会遇到一些问题. 有一个这样的模板: {%for k,v in cat ...
- Django URL(路由系统)
Django URL Django 1.11版本 URLconf官方文档 URL配置(URLconf)就像 Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的 ...
- python :Django url /views /Template 文件介绍
1,Django URL 路由系统 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:你就是以这种方式告诉Django ...
- 第五篇Django URL name 详解
Django URL name 详解 利用Django开发网站,可以设计出非常优美的url规则,如果url的匹配规则(包含正则表达式)组织得比较好,view的结构就会比较清晰,比较容易维护. Djan ...
- django url路径与模板中样式相对路径的问题
static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的ur ...
- Python自动化之django URL
URL url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail) 会把(?P\d+)和(?P\d+)传到后台 需 ...
- Django URL name详解
我们基于上一节的代码来开始这一节的内容. 上节源代码:zqxt_views(django 1.4 - django 1.10).zip [更新于 2016-09-06 00:13:23] 1. 打开 ...
- django url.py使用
主要对象:patterns和url url有两个主要的参数,第一个是正则模板,第二个是处理的方法 他们的对应关系是,当我们在浏览器当中url的形式与正则相匹配时 就转向处理方法 如果url.py中的值 ...
- Django URL传递参数的方法总结(转)
1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello) def hello(request): return HttpResponse("He ...
- Django url()函数详解
url()函数看起来的格式象: url(r^/account/$', views.index, name=index) ,它可以接收四个参数,分别是两个必选参数: regex . view 和两个可选 ...
随机推荐
- 1. Packet sniffers (包嗅探器 14个)
十多年来,Nmap项目一直在编目网络安全社区最喜爱的工具. 2011年,该网站变得更加动态,提供打分,评论,搜索,排序和新工具建议表单. 本网站除了我们维护的那些工具(如Nmap安全扫描器,Ncat网 ...
- Linux第十节课学习笔记
部署LVM三步: 1.pv:使设备支持LVM: 2.vg:对支持LVM的设备进行整合: 3.lv:将整合的空间进行切割. 每个基本单元PE的大小为4M,分配空间必须是4M的整数倍.可以容量或基本单元个 ...
- zabbix监控到异常后自动执行对应命令
zabbix可不仅仅只有监控功能,还支持远程执行命令,实现简单自动化运维 以下以监控mysql的3306端口为例,如该端口异常关闭,自动执行命令重启mysql 创建一个监听3306的监控项,键值按照这 ...
- SoapUI简介及下载地址
SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,mave ...
- IntellijIDEA常用快捷键总结
转载自:http://blog.csdn.net/qq_17586821/article/details/52554731 下面的这些常用快捷键需要在实际操作中不断地体会才能真正感受到它们的方便之处. ...
- Optaplanner规划引擎的工作原理及简单示例(1)
在之前的文章中,老猿已介绍过APS及规划的相关内容,也对Optaplanner相关的概念和一些使用示例进行过介绍,接下来的文章中,我会自己做一个规划小程序 - 一个关于把任务分配到不同的机台上进行作来 ...
- react优缺点
优点: 1.面向组件,方便组件的复用. 2.从操作dom改为操作state. 缺点: 1.html和javascript较高耦合,不方便分工开发. 2.当一个页面中两处元素组件有相关性时,父组件会非常 ...
- python使用高阶函数计算整数阶乘
from functools import reduce num = 10 print(reduce(lambda x, y: x * y, range(1, num + 1)))
- jQuery使用CDN加速
使用新浪.百度.谷歌和微软的CDN加速jQuery 随着jQuery的版本更新,体积也越来越大,如果把jQuery放在自己的服务器上,会消耗不少的流量.而谷歌和百度等互联网公司为了方便开发者,提供了C ...
- Mysql 分组选择
Mysql 分组选择 在其他的数据库中我们遇到分组选择的问题时,比如在分组中计算前10名的平均分 我们可以使用row_number()over() 比较方便的得到. 但是在mysql中,问题就被抛了出 ...