python---django中url访问方法
只是了解,不推荐使用,毕竟干扰太多,任意冲突,也没有解耦,应该使用路由分发
在url匹配中支持正则匹配,例如:
from django.conf.urls import include, url
from django.contrib import admin
from blog import views
from ts import views as v2
urlpatterns = [
url(r'^$', 'HelloWorld.views.home', name='home'),
]
访问方法一:
url(r'^userinfo',views.userinfo),
匹配以userinfo开头,但是不一定以其结尾,在后面加上其他后缀也是允许的
http://127.0.0.1:8080/userinfo
http://127.0.0.1:8080/userinfodasf
访问方法二:
url(r'^article/2013/66$',v2.show_url),
匹配以article开始,66结尾,格式按照,但是在中间加入其他也是允许的:
http://127.0.0.1:8080/article/2013/66
http://127.0.0.1:8080/article/2013d/d66
访问方法三:
url(r'^article/([0-9]{4})/$',v2.show_url_3),
在()中数据是为传入参数
http://127.0.0.1:8080/article/2012/
可获取,处理,但是获取方法不不受限制:
def show_url_3(req,*argc):return HttpResponse("<h1>year"+argc[]+"</h1>")
def show_url_3(req,y):
return HttpResponse("<h1>year"+y+"</h1>")
访问方法四:
url(r'^article/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$',v2.show_url_4),
限制传参,参数名必须一致:
http://127.0.0.1:8080/articel/2012/23/
def show_url_4(req,year,month):
return HttpResponse("<h1>year:"+year+"\tmonth:"+month+"</h1>")
访问方法五:
url(r"^index",views.index,{'name':'ld'}),
后台自定义传参:作用:例如对于不同情况,传入不同模板文件名,同一函数处理时获取不同文件名,进行渲染返回(实际不用这种方法),访问直接使用index即可,但是函数传参名必须一致:
def index(req,name):
return HttpResponse("<h1>ok</h1>")
访问方法六:
url(r'^login',views.login,name="lg"),
为方法设置别名,可以在前端使用时简写,在返回给客户端 时,在渲染时会被替换为原来路径
def login(req):
if req.method == "POST":
if req.POST.get("username",None)=="fsaf" and req.POST.get("password",None)=="":
return HttpResponse("<h1>ok</h1>")
return render(req, "login.html")
使用方法:
<form action="{% url 'lg' %}" method="post">
<input type="text" name="username"/>
<input type="password" name="password"/>
<input type="submit">
</form>
也可以进行传参:
url(r'^all/(?P<article_type_id>\d+)\.html$',home.index,name='index'),
在视图函数中使用:
reverse("index",kwargs={"article_type_id":1}) ==> all/1.html
在HTML代码中进行使用:
{% url "index" article_type_id=1 %} ==> all/1.html
或者:
url(r'^all/(\d+)\.html$',home.index,name='index'),
reverse("index",args=(2,)) ==> all/.html
{% url "index" 2 %} ==> all/.html
注意引入:
from django.core.urlresolvers import reverse
python---django中url访问方法的更多相关文章
- django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...
- Django中url匹配规则的补充
Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- Python Django中QQ邮箱授权码问题
Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Ed ...
- django 中url与path小记
1. 在django 2.0中增加了一些新的特性 更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-frie ...
- RSA算法在Python Django中的简单应用
说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难, ...
- Effective Java 第三版——16.在公共类中使用访问方法而不是公共属性
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- Django——URL详解/Django中URL是如何与urls文件匹配的
URL标准语法 protocol://hostname[:port]/path/[:parameters][?query]#fragment https://i.cnblogs.com/EditPos ...
- 第8.6节 Python类中的__new__方法深入剖析:调用父类__new__方法参数的困惑
上节<第8.5节 Python类中的__new__方法和构造方法__init__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...
随机推荐
- 【DDD】业务建模实践 —— 发布帖子
本文是基于上一篇‘业务建模战术’的实践,主要讲解‘发表帖子’场景的业务建模,包括:业务建模.业务模型.示例代码:示例代码会使用java编写,文末附有github地址.相比于<领域驱动设计> ...
- github添加ssh连接用户
最近打算用flask写一个自己的博客网站,打算把代码放在GitHub上,使用ssh访问.记录下GitHub配置ssh用户的流程. 1.在本地电脑或云服务器上生成ssh公钥和私钥,window下可以进入 ...
- ajax请求超时判断(转载)
ajax请求时有个参数可以借鉴一下 var ajaxTimeOut = $.ajax({ url:'', //请求的URL timeout : 1000, //超时时间设置,单位毫秒 type : ' ...
- GitHub和Microsoft TFS对比有什么优势
GitHub变得越来越流行,最近Github发布了Github for Windows则大大降低了学习成本和使用难度,它甚至优于TFS. 微软也开始逐渐从TFS向GitHub转移了. 不是 TFS 输 ...
- 【跨域】jsonp跨域实现方法
封装原生jsonp: 以跨域调取豆瓣电影最热榜单为例: function $jsonp(url,data,callback){ var funcName = 'jsonp_cb' + Math.ran ...
- poj2991 Crane(线段树)
Description ACM has bought a new crane (crane -- jeřáb) . The crane consists of n segments of variou ...
- 【bzoj5073】[Lydsy1710月赛]小A的咒语 后缀数组+倍增RMQ+贪心+dp
题目描述 给出 $A$ 串和 $B$ 串,从 $A$ 串中选出至多 $x$ 个互不重合的段,使得它们按照原顺序拼接后能够得到 $B$ 串.求是否可行.多组数据. $T\le 10$ ,$|A|,|B| ...
- Java学习之基本数据类型和引用数据类型区别
JAVA中分为基本数据类型和引用数据类型区别一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存 ...
- Docker一些常用命令
1.启动Docker服务 service docker start 2.查看所有镜像 docker images 3.查看正在运行的容器 docker ps 4.查看所有容器 docker ps -a ...
- 自学huawei之路-6005-8AP设备启动界面
返回自学Huawei之路 自学huawei之路-AC6005-8AP设备启动界面 [YK-MES-MASTER] Please check whether system data has been c ...