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__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...
随机推荐
- Security4:授予查看定义,执行SP和只读数据的权限
SQL Server数据库有完善的权限管理机制,对于存储过程,其权限分为查看定义,执行和修改,查看SP定义的权限是:VIEW DEFINITION ,执行存储过程的权限是:EXECUTE,修改SP的权 ...
- 【分享】20个非常有用的Java程序片段
福利来啦!!! 刚看到的一篇好东东,分享给大家,这些代码留着哦,以后会用得着的... 原文地址:http://developer.51cto.com/art/201306/398347.htm 1. ...
- 解决SSH登录用户执行的命令部分环境变量参数不生效的问题
问题概况 linux机器在/etc/profile配置完成环境变量后,SSH到目标机器执行命令,但是获取不到已配置的环境变量值. 例如场景: 在/etc/profile配置了http代理 export ...
- 「功能笔记」Spacemacs+Evil备忘录
设置代理 (setq url-gateway-method 'socks) (setq socks-server '("Default server" "127.0.0. ...
- Unity EasyTouch官方案例学习
一.代码检测手势事件 1. EasyTouch4.x 写法 首先要手动在 Hierarchy 窗口添加 EasyTouch 物体,以触摸(Touch)手势为例,代码如下: using UnityEng ...
- React笔记-事件分发
事件分发 之前讲述了事件如何绑定在document上,那么具体事件触发的时候是如何分发到具体的监听者呢?我们接着上次注册的事件代理看.当我点击update counter按钮时,触发注册的click事 ...
- 【文章存档】如何通过 GitLab 进行持续部署
好久没写博客了,这几天存档一下新文章. 链接 https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/a ...
- LeetCode-765.情侣牵手
N 对情侣坐在连续排列的 2N 个座位上,想要牵到对方的手. 计算最少交换座位的次数,以便每对情侣可以并肩坐在一起. 一次交换可选择任意两人,让他们站起来交换座位. 人和座位用 0 到 2N-1 的整 ...
- 第一次spring,第三天。
陈志棚:界面跳转与框架 李天麟:游戏界面ui 徐侃:算法代码的设计 由于队员要回家,我们讨论后,在校的队员先完成自己的任务,待回来的队员完成后在开会讨论,我们的最终结果.
- 编码用命令行执行的C语言词语统计程序
需求介绍 程序处理用户需求的模式为: wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 -c ...