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__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...
随机推荐
- [计算机视觉] 图像拼接 Image Stitching
[计算机视觉] 图像拼接 Image Stitching 2017年04月28日 14:05:19 阅读数:1027 作业要求: 1.将多张图片合并拼接成一张全景图(看下面效果图) 2.尽量用C/C+ ...
- zabbix3.4 实现sendEmail邮件报警
zabbix3.4实现sendEmail邮件报警 转发:https://www.cnblogs.com/pythonal/p/7813948.html sendEmail是一个轻量级,命令行的SMTP ...
- 软件测试_Loadrunner_APP测试_性能测试_脚本优化_脚本回放
本文主要写一下在使用Loadrunner录制完毕APP脚本之后如何对脚本进行回放,如有不足,欢迎评论补充. 如没有安装Loadrunner软件,请查看链接:软件测试_测试工具_LoadRunner: ...
- 解决coursera无法观看视频的问题
问题 最近开始看coursera的一个课程,遇到一个问题,可以正常登录网站(未使用VPN),也可以下载资源(除了视频)但是却没有办法在线观看视频. 解决方法 使用VPN 这个方法应该可以解决任何访问国 ...
- 跟踪分析Linux内核的启动过程小解
跟踪分析Linux内核的启动过程 “20135224陈实 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...
- process.tar.gz
exec1.c #include <stdio.h> #include <unistd.h> int main() { char *arglist[3]; arglist[0] ...
- 《Linux内核设计与实现》 第三周 读书笔记
第一章 Linux内核简介 1. Unix的历史 Unⅸ虽然已经使用了40年,但计算机科学家仍然认为它是现存操作系统中最强大和最优秀的系统. Unix强大的根本原因: 简洁 在Unix中所有的东西都被 ...
- 在eclipse中编译调试ns3
1首先把ns3项目导入eclipse 然后把上面的的ns3按照上面的提示即可导入成功. 然后可以运行一下 ./waf configure 2 配置C/C++ Build 右键工程,选择属性 ...
- word count程序,以及困扰人的宽字符与字符
一个Word Count程序,由c++完成,有行数.词数.能完成路径下文件的遍历. 遍历文件部分的代码如下: void FindeFile(wchar_t *pFilePath) { CFileFin ...
- idea打jar包没有MANIFEST文件坑
看到横线处没有,将此处的main\java 删除掉 meta-inf文件夹必须在src文件夹下,才能打包成功, idea自动加了 main/java 会导致打包时,找不到该manifest文件,不会将 ...