在Django的URLconf中使用多个视图前缀的方法
在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 patterns() 对象,象这样:
旧的:
from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^hello/$', 'mysite.views.hello'), (r'^time/$', 'mysite.views.current_datetime'), (r'^time/plus/(\d{1,2})/$', 'mysite.views.hours_ahead'), (r'^tag/(\w+)/$', 'weblog.views.tag'), )
新的:
from django.conf.urls.defaults import * urlpatterns = patterns('mysite.views', (r'^hello/$', 'hello'), (r'^time/$', 'current_datetime'), (r'^time/plus/(\d{1,2})/$', 'hours_ahead'), ) urlpatterns += patterns('weblog.views', (r'^tag/(\w+)/$', 'tag'), )
整个框架关注的是存在一个名为 urlpatterns 的模块级别的变量。如上例,这个变量可以动态生成。 这里我们要特别说明一下,patterns()返回的对象是可相加的,这个特性可能是大家没有想到的。
相关推荐
-
在Django的URLconf中进行函数导入的方法
看下这个 URLconf: from django.conf.urls.defaults import * from mysite.views import hello, current_datetime, hours_ahead urlpatterns = patterns('', (r'^hello/$', hello), (r'^time/$', current_datetime), (r'^time/plus/(\d{1,2})/$', hours_ahead), ) 在 URLconf
-
在Django的URLconf中使用命名组的方法
在我们想要捕获的URL部分上加上小括号,Django 会将捕获的文本作为位置参数传递给视图函数. 在更高级的用法中,还可以使用 命名 正则表达式组来捕获URL,并且将其作为关键字参数传给视图. 一个 Python 函数可以使用关键字参数或位置参数来调用,在某些情况下,可以同时进行使用. 在关键字参数调用中,你要指定参数的名字和传入的值. 在位置参数调用中,你只需传入参数,不需要明确指明哪个参数与哪个值对应,它们的对应关系隐含在参数的顺序中. 例如,考虑这个简单的函数: def sell(item
-
Django中URLconf和include()的协同工作方法
捕获的参数如何和include()协同工作 一个被包含的URLconf接收任何来自parent URLconfs的被捕获的参数,比如: # root urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^(?P<username>\w+)/blog/', include('foo.urls.blog')), ) # foo/urls/blog.py from django.conf.urls
-
在Django的URLconf中使用多个视图前缀的方法
在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图. 然而,你仍然可以利用视图前缀的简便方式来减少重复. 只要增加多个 patterns() 对象,象这样: 旧的: from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^hello/$', 'mysite.views.hello'), (r'^time/$', 'mysite.views.current_da
-
Django的URLconf中使用缺省视图参数的方法
一个方便的特性是你可以给一个视图指定默认的参数. 这样,当没有给这个参数赋值的时候将会使用默认的值. 例子: # urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', (r'^blog/$', views.page), (r'^blog/page(?P<num>\d+)/$', views.page), ) # views.py def page(r
-
关于AngularJS中ng-repeat不更新视图的解决方法
最近写AngularJS项目中,遇到一个问题,先对数组进行赋值,ng--repeat正常工作,然后对数组进行修改,ng-repeat似乎没有工作,视图没有更新. 原因是ng-repeat会已默认值排序,由于我的数组中的元素有重复,所以ng-repeat没有对重复的元素进行刷新,只要对ng-repeat指定track by就可以了 <tr ng-repeat="selectedCriterias in selectedCriteriasArray track by $index"&
-
Domino中运用jQuery读取视图内容的方法
jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents.events.实现动画效果,并且方便地为网站或系统提供AJAX交互. 在Domino中应用jQuery框架能够大量简化js代码,并使得js的程序更加简洁和直观,下面是一个简单的例子,在表单中简单运用jQuery来读取视图内容. 1.在表单中加入以下代码并内置HTML: html 代码: <input type=button onclick="GetViewContent()"
-
Django框架中处理URLconf中特定的URL的方法
有时你有一个模式来处理在你的URLconf中的一系列URL,但是有时候需要特别处理其中的某个URL. 在这种情况下,要使用将URLconf中把特殊情况放在首位的线性处理方式 . 比方说,你可以考虑通过下面这个URLpattern所描述的方式来向Django的管理站点添加一个目标页面 urlpatterns = patterns('', # ... ('^([^/]+)/([^/]+)/add/$', views.add_stage), # ... ) 这将匹配像 /myblog/entries/
-
Django框架下在URLconf中指定视图缓存的方法
将视图与缓存系统进行了耦合,从几个方面来说并不理想. 例如,你可能想在某个无缓存的站点中重用该视图函数,或者你可能想将该视图发布给那些不想通过缓存使用它们的人. 解决这些问题的方法是在 URLconf 中指定视图缓存,而不是紧挨着这些视图函数本身来指定. 完成这项工作非常简单: 在 URLconf 中用到这些视图函数的时候简单地包裹一个 cache_page .以下是刚才用到过的 URLconf : 这是之前的URLconf: urlpatterns = ('', (r'^foo/(\d{1,2
-
django中的HTML控件及参数传递方法
本文对djangoHTML的表单控件中的单选及多选进行介绍,并说明如何进行参数传递. 1.HTML中的表单控件: 在HTML中表单的书写一般为: <form method="post" action=""> 这个method代表方法,方法一般有两个一个是'post',一个是'get',action是提交表单到何处,可填写一个网址.不填则默认到本页面. {%csrf_token%} 这个是django中的一个标签,用于防止恶意攻击使用,如果不加入这个标签,
-
Django应用程序中如何发送电子邮件详解
前言 在Django应用程序中发送电子邮件最常见的用例是密码重置.帐户激活和发送与您的应用程序相关的一般通知.下面来看看详细的介绍吧. 配置Django发送电子邮件 要配置您的Django应用程序,添加下面的参数到你settings.py: # 主机 EMAIL_HOST = "smtp.sina.com" # 端口 EMAIL_PORT = 25 # 发件人邮箱 EMAIL_HOST_USER = "anshengme@sina.com" # 密码 EMAIL_H
随机推荐
- ASP.NET中repeater嵌套实现代码(附源码)
- 如何用ASP发送html格式的邮件?
- 终极dos批处理for循环命令详解
- iOS11适配工作及导航栏影藏返回文字的解决方法
- 解析如何利用一个ASP.NET Core应用来发布静态文件
- Python functools模块学习总结
- 禁止mysql做域名解析(解决远程访问mysql时很慢)
- php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
- Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
- js数字舍入误差以及解决方法(必看篇)
- Ajax级联菜单实例代码
- C++如何实现简单的计时器详解
- 全排列算法的原理和实现代码
- 你值得拥有的Android Studio开发小技巧
- C#实现对图片文件的压缩、裁剪操作实例
- 将正小数转化为2-9进制小数的实现方法
- Java实例化一个抽象类对象的方法教程
- Spring Cloud Ribbon实现客户端负载均衡的示例
- vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
- PHP实现分布式memcache设置web集群session同步的方法