Django 中两个模型的一种 url 模式

2023-12-01

Django 中的两个模型是否可以使用一个 url 模式?

我有两个模型:游戏和类别,我想要这两个模型都有一个 url 模式:

ios-games/category_name

and

ios-games/game_name

因此类别模式应该首先进行,如果 slug 不存在,则应该检查游戏模式。

是否可以不为这两个模型创建一个大视图?

不幸的是,路径的顺序url.py不起作用,如果它在第一个模式中找不到对象,它就不会进一步寻找......


我不认为有什么办法可以让你继续从视图中查看 url。但是,您可以创建一个调用正确视图的视图。我以前做过类似的事情。就像是:

class GameCategoryFactory(View):
    def dispatch(self, request, *args, **kwargs):
        game_or_category_slug = kwargs.pop('slug')

        if Category.objects.filter(name=game_or_category_slug).count() != 0:
            return CategoryView.as_view()(request, *args, **kwargs)
        elif Game.objects.filter(name=game_or_category_slug).count() != 0:
            return GameView.as_view()(request, *args, **kwargs)
        else:
            raise Http404

当然,我使用的是基于类的视图。基于函数的方法应该非常简单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 中两个模型的一种 url 模式 的相关文章

随机推荐

  • 如何使 setInterval 在一段时间或多次操作后停止?

    我用 jQuery 创建了一个 改变单词 的循环 通过使用此答案中的代码 jQuery 查找单词并每隔几秒更改一次 一段时间后如何停止 是说 60 秒后还是循环结束后 function List your words here var wo
  • 格式化 pandas 中的数字

    对于 pandas DataFrame df min max mean a 0 0 2 300000e 04 6 450098e 02 b 0 0 1 370000e 05 1 651754e 03 c 218 0 1 221550e 10
  • 如何使用 P/Invoke 在 C# 中返回列表?

    我正在开发一个小项目 我使用 P Invoke 并希望在 C 中返回以下内容 public class std list
  • 下面的格式说明符在做什么?

    else printf 3hho data 我无法在网上或通过阅读 C 编程语言书籍找到有关如何破译它的信息 我在下面的代码片段中看到了它 该代码尝试在 telnet 协议中执行密码嗅探 if pktlen sizeof struct ip
  • 使用 hibernate 从数据库获取下一个序列值

    我有一个实体 该实体具有必须从序列设置的非 ID 字段 目前 我获取序列的第一个值 将其存储在客户端 然后根据该值进行计算 然而 我正在寻找一种 更好 的方法来做到这一点 我已经实现了一种获取下一个序列值的方法 public Long ge
  • 通过 Dexterity 在字段集之间移动字段

    在 Archetypes 中 为了将字段从字段集 或模式 移动到另一个字段集 或模式 我们可以执行以下操作 schema creators schemata default 然而 我并没有使用敏捷来实现同样的目标 我尝试过使用表单提示 前任
  • 如何使用 Microsoft Graphs 访问共享邮箱

    是否可以使用图表访问共享邮箱 我想使用图表访问共享邮箱邮件文件夹 只需将其视为任何其他用户即可 https graph microsoft com v1 0 users 电子邮件受保护 消息 确保您设置了正确的权限 Mail Read Sh
  • Django:将值从模板传递到视图

    我遇到过这种情况 单击 html 提交按钮 我调用views stream response哪个 激活 views stream response generator哪个 激活 流 py并返回一个流式Http响应我每秒都会看到一个渐进的数字
  • 如何从 xamarin.forms 中的应用程序打开设置?

    我正在研究 xamarin forms 仅在android中面临以下问题 当我的应用程序启动时 它会检查我的 GPS 位置是否打开或关闭 要检查 GPS 位置的开启或关闭 我正在使用依赖服务 public static bool Check
  • 合并 R 中的唯一值

    这是示例数据 set seed 123 data1 lt data frame id1 rep 1 5 each 2 nam1 rnorm 5 1 data2 lt data frame id2 rep 3 12 each 2 nam2 r
  • 您最喜欢的使用 Bash 的命令行技巧是什么? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前
  • 如何在选项卡之间切换时停止执行 AsyncTask,同时保留之前的内容

    让我解释一下我的问题 假设我有三个选项卡 片段 ab1 片段 ab2 片段 ab3 现在我在 FragmentTab1 中有列表视图 这里我使用AsyncTask加载数据OnCreateView 数据正在完美加载 现在 当我查看详细信息并再
  • asp.net中缓存过期时的回调

    有谁知道当缓存过期时如何在 ASP NET 中运行函数的教程或示例 我读过有关缓存过期时进行的回调的信息 但我没有找到任何示例 我需要这个来做网站 它需要在每天的确切时间执行一个函数 hhh3112 当缓存过期时 您可以使用回调 你能再解释
  • 以24小时制显示日期

    我正在使用简单的应用程序 我可以在其中获取最新信息DateTime并将其转换为24 hour format Code String DATE yyyy MM dd hh mm ss yyyy MM dd hh mm ss String DA
  • war webapp 中 Tomcat 服务器绝对文件访问

    我有一个 Spring web 应用程序 war文件已上传至 Tomcat 服务器 大多数基本功能都按预期工作 页面视图和表单提交 我现在的问题是我的 web 应用程序需要读取和写入文件 而我对如何实现这一点一无所知 文件 I O 返回ja
  • jQuery绑定粘贴事件,如何获取粘贴的内容

    我有一个 jquery token tagit 插件 我想绑定到粘贴事件以正确添加项目 我可以像这样绑定到粘贴事件 bind paste paste input function paste input e console log e re
  • 使用简单的注入器注册 Web API 控制器的子集

    我正在手动注册项目的 Web API 控制器的子集 container Register typeof ILGTWebApiController controllerType Lifestyle Transient 工作正常 但是 当我运行
  • 从 python 脚本调用 scrapy 不创建 JSON 输出文件

    这是我用来调用 scrapy 的 python 脚本 答案是 从脚本中抓取的 Scrapy 总是在抓取后阻止脚本执行 def stop reactor reactor stop dispatcher connect stop reactor
  • Code Golf:数学表达式评估器(尊重 PEMDAS)

    Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我挑战你编写一个遵守 PEMDAS 运算顺序 括号 求幂 乘法 除法 加法 减法 的数学表达式求值器 而不使用正则表达式 预先存在
  • Django 中两个模型的一种 url 模式

    Django 中的两个模型是否可以使用一个 url 模式 我有两个模型 游戏和类别 我想要这两个模型都有一个 url 模式 ios games category name and ios games game name 因此类别模式应该首先