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__关系深入剖析:执行顺序及参数关系案例详解>通过案例详细分析了两个方法的执行顺序,不知大家是否注意到了,在上述 ...
随机推荐
- C#_Stream
IO操作基本上需要用到Stream相关的子类,因此这类问题在CSDN问得也是比较多.其实对于Stream来说,操作起来比较简单,只要对细节的处理稍微注意一下,相信在使用它的时候也会得心应手. 对于St ...
- python中列表的常用操作增删改查
1. 列表的概念,列表是一种存储大量数据的存储模型. 2. 列表的特点,列表具有索引的概念,可以通过索引操作列表中的数据.列表中的数据可以进行添加.删除.修改.查询等操作. 3. 列表的基本语法 创建 ...
- aiohttp简介及快速使用
前言 本文翻译自aiohttp官方文档,如有纰漏,欢迎指出. aiohttp是一个为Python提供异步HTTP 客户端/服务端编程,基于asyncio(Python用于支持异步编程的标准库)的异步库 ...
- Serverless架构详解:开发者如何专注于业务代码本身?
本文来自腾讯云技术沙龙,本次沙龙主题为Serverless架构开发与SCF部署实践 演讲嘉宾:黄文俊,曾负责企业级存储.企业级容器平台等产品的架构与开发,目前主要负责SCF腾讯无服务器云函数产品相关. ...
- git常用命令学习总结
英语真是我的硬伤啊,提示都要用百度翻译看一遍,费劲... 下面是我日常工作中遇到的各种问题汇总 1.远程服务器分支与本地代码合并 我第一次打出 git pull 显示下面的错误 就怪我英语太差,都懒得 ...
- Linux内核设计与实现 第十八章
1. 内核调试的难点 重现bug困难 调试风险比较大 定位bug的初始版本困难 2. 内核调试的工具和方法 2.1 输出 LOG 输出LOG不光是内核调试, 即使是在用户态程序的调试中, 也是经常使用 ...
- Hamburger
Bread: 我觉得舒婷解决问题的思路还是很不错的,对于java 的窗口框架也是很熟悉,打码速度也快了很多. Meat:但是我发现你在命名的时候会出现随意的现象,如果命名只有你自己看得懂的话,那么会增 ...
- bootstrap响应式布局列子
<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...
- golang 实现线程池
package main import ( "fmt" "time" ) type Pool struct { Queue chan func() error; ...
- eclipse运行tomcat中发生异常重启后tomcat端口被占用
在任务管理器关闭javaw进程即可,一般此时会有两个以上javaw进程,关闭其中占用内存较少的那个 可用netstat -ano命令查看端口占用情况