Django URL 模板匹配(除了模式之外的所有内容)

2024-03-31

我需要一个 django 正则表达式,它实际上适用于 url 路由器来执行以下操作:

匹配路由中不包含“/api”的所有内容。

以下不起作用,因为 django 无法反转 (?!

r'^(?!api)

通常的方法是对路由声明进行排序,以便包罗万象的路由被/api路线,即:

urlpatterns = patterns('', 
    url(r'^api/', include('api.urls')),
    url(r'^other/', 'views.other', name='other'),
    url(r'^.*$', 'views.catchall', name='catch-all'), 
)

或者,如果由于某种原因您确实需要跳过某些路由,但无法使用 Django 支持的正则表达式集来完成此操作,您可以定义一个自定义模式匹配器类:

from django.core.urlresolvers import RegexURLPattern 

class NoAPIPattern(RegexURLPattern):
    def resolve(self, path):
        if not path.startswith('api'):
            return super(NoAPIPattern, self).resolve(path)

urlpatterns = patterns('',
    url(r'^other/', 'views.other', name='other'),
    NoAPIPattern(r'^.*$', 'views.catchall', name='catch-all'),
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django URL 模板匹配(除了模式之外的所有内容) 的相关文章

随机推荐

  • Visual Studio 2013 更新 3 的问题

    我刚刚安装了 VS 2013 Update 3 现在打开解决方案时出现错误 The Microsoft VisualStudio Web Publish WebPublishPackage MircosoftVisualStudio Web
  • 如何借助 amp-story-consent 构建 AMP cookie 同意?

    我想向我的 AMP 静态网站添加 cookie 同意 我想利用模式对话框amp story consent可以提供给我 我研究了各种例子 也许最完整的是 示例文档https amp dev documentation examples us
  • 新 PayPal 结账时大型购物车的 PayPal HTML 按钮损坏

    几周以来 我们一直在与 PayPal 支付标准表格问题作斗争 我们多年来一直运行相同的代码 但注意到我们的较大发票 包含 20 多个项目 最近在提交给 PayPal 时出现白屏死机 沙盒中的测试和以前一样运行良好 在到处搜索后 我找不到任何
  • 桌面应用程序转换器

    我使用 Desktop Bridge 一段时间了 最 近我开始遇到问题 它停止构建软件包 我尝试将其安装在不同的虚拟机上 但遇到了相同的错误 PowerShell Error Record DesktopAppConverter error
  • 如何使 CATransform3dMakeRotation 以另一种方式旋转?并链在一起

    我第一次使用一些核心动画 在实现可以翻转的扑克牌的过程中 我决定使用CALayer显示内容 不确定我将如何获得两侧 但这是另一个问题 并且我需要能够翻转它 移动它等等 我在用着CATransaction取得了一些成功 在下面的代码片段中 卡
  • 以识别自定义 if 语句的方式解析纯文本

    我有以下字符串 string The man has NUM DOGS dogs 我通过以下函数运行它来解析它 function parse text string global num dogs string str replace NU
  • Visual Studio 2010 中的代码指标

    我想知道 Visual Studio 2010 中的代码指标有哪些可用选项 我知道可以在 IDE 中对代码运行手动指标 但是还有其他选项吗 我想做的是 我和我的团队正在运行 Team Foundation Server 2010 并且我们设
  • phpunit 测试类未找到错误,而类存在?

    这是我的目录结构 application modules admin models User php 这是我的用户模型类 class admin Model User User php 这是我的 UserTest 类 带有简单的 Asser
  • 计算直线与 x 轴之间的角度

    我目前正在为 Android 开发一个简单的 2D 游戏 我有一个位于屏幕中心的固定对象 我试图让该对象旋转并指向用户触摸的屏幕区域 我有代表屏幕中心的常量坐标 我可以获得用户点击的点的坐标 我正在使用此论坛中概述的公式 如何获得两点之间的
  • glsl 中的 mat3(mat4 矩阵)语句有何作用?

    我正在做每个片段照明 并且在校正法线向量时 我得到了以下代码 vec3 f normal mat3 MVI normal 其中 MVI 是 mat4 MVI transpose inverse ModelViewMatrix 那么返回之后是
  • 如何处理 Blackberry Storm 中的 ButtonField 和 BitmapField 点击(触摸)事件?

    我创建了一个 ButtonField 和一个 BitmapField 像 public class MyCanvas extends MainScreen implements FieldChangeListener HorizontalF
  • 如何在Table View定制过程中调用“willDisplayHeaderView”方法?

    我想调用这些方法 void tableView UITableView tableView willDisplayHeaderView UIView view forSection NSInteger section NS AVAILABL
  • 如何防止标签在移动屏幕 Chart.js 上重叠

    我正在使用这个例子jsfiddle https jsfiddle net Trekels fec0v5kj 但是当我使用小屏幕时标签开始像这样重叠 我可以做什么来预防它 我想让它完全响应 我尝试改变长度和其他长宽比等 但没有成功 var c
  • 缓存是个好主意吗?如果是的话,在哪里?

    我有一个 ASP NET 网站 每天有 10 25 000 名访问者 节假日前的峰值超过 60 000 人 由于它是一个内容网站 因此页面 访问量也很高 我有一些特定的页面 它们产生了大约 60 的流量 这些页面有点复杂 并且数据库较多 s
  • Xcode 4.2:如何从子项目导入 .h 文件

    我是 Xcode 子项目的新手 在我的 iPhone 应用程序项目中MyProject 我正在尝试将一些常见代码重构为一个名为的静态库项目MyLibrary 我创建后MyLibrary并移动代码 MyProject不再编译 错误在于MyPr
  • 在 openCV 中连接足够近的轮廓

    我有一组从图像中检测到的轮廓 斑点 问题在于 一些斑点在斑点检测和平滑过程中被分割 我尝试使用以下代码 Mat outlines Mat zeros m3 size CV 8UC3 findContours m3 contours CV R
  • 多匹配布尔提升

    我正在尝试执行以下操作 curl X POST localhost 9200 magento customer search pretty 1 d query bool must multi match query john fields
  • cygwin git下的KDiff3不会调用

    为了与互联网上发布的许多解决方案保持一致 我安装了 KDiff3 并进行了修改 gitconfig如下所示来使用它 尽管如此 当我跑步时git diff HEAD HEAD在存储库中进行测试 我得到了默认工具执行的差异 我在 Windows
  • NestJS 在非模块文件中注入模块服务

    我有一个用于视图渲染的函数文件 我想在这里使用 Nestjs 模块服务 我的渲染文件是这样的 export default parse render 因此 为了在这里使用模块服务 我尝试像这样注入 import Inject from ne
  • Django URL 模板匹配(除了模式之外的所有内容)

    我需要一个 django 正则表达式 它实际上适用于 url 路由器来执行以下操作 匹配路由中不包含 api 的所有内容 以下不起作用 因为 django 无法反转 r api 通常的方法是对路由声明进行排序 以便包罗万象的路由被 api路