一些帮助django url不区分大小写的工具。

django-icase的Python项目详细描述


https://badge.fury.io/py/django-icase.svghttps://travis-ci.org/bennylope/django-icase.svg?branch=masterhttps://coveralls.io/repos/bennylope/django-icase/badge.svg?branch=master

一些帮助django url不区分大小写的工具。

  • 404处理程序,用于重定向不匹配的非小写URL。例如,如果/about/ 不匹配,处理程序将在返回404之前重定向到/about/
  • 实施低大小写URL的中间件。例如,所有非小写URL将 被重定向到小写形式。

概述

如果只需要匹配url模式,那么添加 对正则表达式不区分大小写。:

urlpatterns = patterns('',
    (r'^(?i)admin/(.*)', admin.site.root),
    (r'^(?i)static/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.STATIC_DOC_ROOT, 'show_indexes': True}),
    (r'^(?i)login/$', 'django.contrib.auth.views.login'),
    (r'^(?i)logout/$', do_logout),
)

亚历克斯·马泰利的Stack Overflow explanation

然而,这并不能与slug匹配,slug通常是区分大小写的 默认匹配-由应用程序决定。如果应用程序使用简单的= 表达式,例如:

object = MyModel.objects.get(slug=slug)

那么,myslug与myslug不匹配。

还有一些情况下,由于其他原因,您希望强制执行url大小写 (或者客户会这样做!).

安装

安装django icase:

pip install django-icase

要使用自定义404处理程序,只需在项目url.py 配置。

handler404 = 'icase.views.icase_404_handler'

要使用小写中间件,请将其添加到 已安装的中间件

INSTALLED_MIDDLEWARE = (
    'icase.middleware.LowerCased',
    ...
)

django&python支持

此应用程序支持Django的活动支持版本, 尽管没有什么理由不应该对其他人起作用。

测试了Python3和Python2.7.9。

历史记录

0.1.1(2015-05-06)

  • 更新django nose reference以支持django 1.7+

0.1.0(2015-03-25)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
google chrome我在哪里可以下载Mac OSX Lion的Java 6?   java管道化hadoop映射减少作业   java避免在使用jsoup解析html时删除空格和换行符   java将arrayList中的元素相互比较   如何创建一个计算一组数字之和的程序(Java)?   java JavaFX 8 JVM在退出后保留   升华文本3升华文本3 Java交互控制台?   JAVAutil。扫描仪和维基百科   java Android在RecyclerView中更新TextClock的时间格式(12/24小时格式)   java集合,如果达到限制,则可以在添加新项之前删除旧项   hex Java将十六进制转换为带符号的8位代码   java如何使用SQL中其他列的数据?   java如何确保返回指定类型的列表?   列出如何在java中声明匿名arraylist?   在JavaSpringBoot中使用RESTXML文件   使用Java在ColdFusion中计算HMACSHA256摘要的加密