Django-MPTT子页面的完整路径如何制作?

2024-03-22

我开始使用 Django-MPTT 应用程序在我的 Django 站点页面上获取基于树的方法。

对于前。我有带有子页面的页面:

Trance:

  • 声音恍惚(子页)
  • Hard Trance(子页面)

Breaks:

  • Atmo Breaks(子页面)
  • 渐进式休息(子页面)

我如何从 urls.py 访问它们? 什么模式会有帮助? 我是否需要在模型中存储 Full_path 还是可以通过 url 模式来完成?


我假设你的意思是你想要做这样的网址:

/trance/
/trance/vocal-trance/
/trance/hard-trace/
/breaks/
/breaks/atmo-breaks/
/breaks/progressive-breaks/

如果是这样,最好将 url 片段存储在模型中。就像是:

from mptt.models import MPTTModel
from django.db import models
from django.template.defaultfilters import slugify

class Page(MPTTModel):
    name = models.CharField(max_length=50)
    slug = models.CharField(max_length=50,null=True)
    url = models.CharField(max_length=255,null=True)

    def save(self, *args, **kwargs)
        if self.slug is None:
            # create a slug that's unique to siblings
            slug = slugify(self.name)
            self.slug = slug
            siblings = self.get_siblings()
            i = 1
            while siblings.filter(slug=self.slug).exists():
                i += 1
                self.slug = slug + '-%d' % i

            # now create a URL based on parent's url + slug
            if self.parent:
                self.url = '%s/%s' % (self.parent.url, self.slug)
            else:
                self.url = self.slug
        super(Page, self).save(*args, **kwargs)

然后添加 URL 模式:

(r'^pages/(?P<page_url>[\w\d_/-]+)/$', 'pages.views.show_page'),

在您看来,您只需获取正确的页面即可:

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

Django-MPTT子页面的完整路径如何制作? 的相关文章

随机推荐

  • 如何在 autoconf 配置脚本/makefile 中添加到库的链接

    我是一个自动工具新手 我很难轻松地弄清楚如何做 将特定库链接到配置的目标之一 我有一个源包 我想用通常的方式构建 configure make make install 不幸的是 其中一个 cpp 缺少对另一个库的引用 手动编译它 调整命令
  • Spray 如何找到资源 - 例如javascript

    使用 Spray io 构建我的第一个 Servlet 非常简单 但从未找到标头中引用的资源 头 gt 这些资源必须放在哪个目录中 或者如何引导喷雾去那里查找 简单的问题 但我无法弄清楚 非常感谢 Girgl 对于 Spray 路由 我使用
  • 是否可以解构 ValueTuple 参数?

    是否可以解构一个不是从方法返回但作为输出参数的元组 我不确定我是否正确表达了自己的意思 甚至不确定是否使用了正确的术语 所以这里有一些例子 void OutMethod out int aNumber string someText out
  • 有没有办法让 gcc 输出原始二进制文件?

    是否有一组命令行选项可以说服 gcc 从独立的源文件生成平面二进制文件 例如 假设 foo c 的内容是 static int f int x int y x x return y 2 没有外部引用 没有任何内容可以导出到链接器 我想要一个
  • 使用多源 PUT 和 DELETE 请求时如何解决 ASP.NET Web API CORS 预检问题?

    我有一个 ASP NET Web API 由三个不同的 SPA 调用 我正在为 Web API 使用 Windows 身份验证 我最初尝试在 Web config 中配置 CORS 如下所示
  • 如何找出 rubocop 正在使用哪个配置文件?

    我很清楚 rubocop 遵循的规则来查找它用来构建它使用的警察列表的配置文件或文件 解释如下 RuboCop 配置 https docs rubocop org rubocop configuration html 然而 这些规则允许几种
  • Spring Roo 的 Maven 存储库

    我的目的是使用我的本地 Nexus 安装代理 Roo Maven 存储库 以便它将包含 Roo 1 2 0 RELEASE 包 On http static springsource org spring roo reference htm
  • 如何使用 CruiseControl.NET 和 MSBuild 部署/发布 Web 应用程序?

    如何使用 CruiseControl NET 和 MSBuild 部署 发布 Web 应用程序 我是 CCNET 新手 我能够从 SVN 获取最新源代码并使用 MSBuild 3 5 进行构建 如何将网站发布到另一台 开发 服务器 感谢您的
  • Google 地图 API 与地理编码器的问题

    我认为我只是做了一些愚蠢的事情 因为我的 JavaScript 技能不是最好的 以下代码生成一个空白的灰色地图 function initialize directionsDisplay new google maps Directions
  • Swift OneSignal OSPermissionSubscriptionState setSubscription

    我已经更新了我的 cocoapods 但 OneSignal 出现错误 ERROR S 类型 OneSignal 没有成员 setSubscription OneSignal setSubscription true 在范围内找不到类型 O
  • 在 cv2 Python 中克隆图像

    我是 OpenCV 新手 作用相同的Python函数是什么简历 克隆 in C 我只是想通过 rectImg img 10 20 10 20 但是当我在上面画一条线时 我发现这条线同时出现在img和 rectImage 那么 我怎样才能完成
  • 如何访问 Blazor WebAssembly 中的应用程序设置

    我当前正在尝试将 api url 保存在应用程序设置中 但是 configuration Properties似乎是空的 我不确定如何获取该设置 在程序 cs中 public static async Task Main string ar
  • 忽略 webview 中的 ssl 证书请求

    我制作了一个小应用程序 其中涉及aspx 页面 https noor moe gov sa 我尝试打开它并抛出我的网络视图 但我得到了空白屏幕 我尝试用 Chrome 浏览器打开它 它给了我所需的证书 我的代码非常简单我添加了一些文档来解释
  • n 维向量

    假设我想声明一个向量的向量的向量的向量 最多 n 维 Like so using namespace std for n 2 vector
  • 为什么 Verilog 不被视为编程语言? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 教授在课堂上说学生不应该说他们学会了用Verilog 编程 他说 Verilog 之类的东西不是用来编程的 而是用来设计的 那么 Verilog
  • 摆脱“使用临时;使用文件排序”

    当我对我的查询进行解释时 我看到第一行的 额外 下有 使用临时 使用文件排序 我知道这很糟糕 但我不知道它到底意味着什么或如何解决它 如果您想查看我的查询 这是我针对同一查询提出的更普遍的问题 MySQL 查询优化和菜鸟解释 https s
  • 从 Ext.data.Store 访问 http 状态代码

    我有一个 http API 令人震惊的新技术 它对设置不同响应状态的不同错误做出反应 问题是 当使用 Ext data Store 和一些 XMLHttpRequest inside 代理时 处理这种状态的最佳方法是什么 据我所知 加载 事
  • 我可以根据时间更改背景颜色吗?

    我使用 html5 CSS bootstrap 创建了一个漂亮的网站 我想知道是否可以在白天 蓝色 和夜间 暗红色 期间在代码中自动更改背景颜色和导航栏选择颜色 我可以做些什么来根据用户的时间更改导航栏和背景的颜色吗 这是我的代码
  • C++:在小型项目的头文件中编写整个类的缺点?

    只是一个风格问题 我是一名独立工作的独立游戏开发者 我养成了在标题中编写整个类的 坏 习惯 我知道 h cpp 文件组合的一些好处是它们允许将代码分割成编译块 只要它们保持不变就不需要重新编译 并允许将接口与实现分开 然而 这些事情对我来说
  • Django-MPTT子页面的完整路径如何制作?

    我开始使用 Django MPTT 应用程序在我的 Django 站点页面上获取基于树的方法 对于前 我有带有子页面的页面 Trance 声音恍惚 子页 Hard Trance 子页面 Breaks Atmo Breaks 子页面 渐进式休