首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在get_absolute_url中包含其他应用的urls.py : reverse() django?

在Django中,可以使用reverse()函数来生成URL。如果想在get_absolute_url()方法中包含其他应用的urls.py,可以按照以下步骤进行操作:

  1. 首先,在你的项目的根目录下创建一个名为urls.py的文件,用于管理所有应用的URL路由。
  2. 在该文件中,导入include函数和其他应用的urls.py文件,例如:
代码语言:txt
复制
from django.urls import include, path
from app1 import urls as app1_urls
from app2 import urls as app2_urls
  1. 在urlpatterns列表中,使用include()函数将其他应用的URL路由添加到主路由中,例如:
代码语言:txt
复制
urlpatterns = [
    path('app1/', include(app1_urls)),
    path('app2/', include(app2_urls)),
]
  1. 在你的应用的urls.py文件中,定义该应用的URL路由,例如:
代码语言:txt
复制
from django.urls import path
from . import views

app_name = 'app1'
urlpatterns = [
    path('example/', views.example_view, name='example'),
    # 其他URL路由
]
  1. 在你的模型类中,通过重写get_absolute_url()方法来生成URL。在该方法中,可以使用reverse()函数来生成其他应用的URL,例如:
代码语言:txt
复制
from django.urls import reverse
from django.db import models

class MyModel(models.Model):
    # 模型字段定义

    def get_absolute_url(self):
        return reverse('app1:example')

在上述代码中,reverse()函数的参数是其他应用中定义的URL名称,例如app1:example表示app1应用中名为example的URL。

通过以上步骤,你可以在get_absolute_url()方法中包含其他应用的urls.py,并使用reverse()函数生成相应的URL。请注意,以上代码仅为示例,你需要根据实际情况进行修改和适配。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第 08 篇:开发博客文章详情页

这条规则含义是,以 posts/ 开头,后跟一个整数,并且以 / 符号结尾, posts/1/、 posts/255/ 等都是符合规则,此外这里 是 django 路由匹配规则特殊写法...='blog' 告诉 django 这个 urls.py 模块是属于 blog 应用,这种技术叫做视图函数命名空间。...但是一个复杂 django 项目可能不止这些视图函数,例如一些第三方应用也可能有叫 index、detail 视图函数,那么怎么把它们区分开来,防止冲突呢?...reverse 函数 def get_absolute_url(self): return reverse('blog:detail', kwargs={'pk': self.pk...django 这个 URL 模块是属于 blog 应用,因此 django 能够顺利地找到 blog 应用下 name 为 detail 视图函数,于是 reverse 函数会去解析这个视图函数对应

43530

Django url 反解析

Django url 反解析 Posted September 30, 2015 Django 是个pythonweb-framework MTV框架能够快速开发网站, 刚开始学习django时候,...虽然这种方法是可行, 但是不是规范。 为什么呢? 最近公司要做一个django改造, 由于改造需求原因, 项目urls统一加上项目名字 urls.py 很简单, 在url前面加上就行....但是很多模版url都要改掉. 这就增加了改造复杂度。 通过此次改造我发现 其实django中有一种很好机制, 来通过urlsviewname 来反解析url生成url....他们分别是: django.core.urlresolvers.reverse 和 templatetags.url django.core.urlresolvers.reverse 这个函数主要用在于...def get_absolute_url(self): return reverse('detail', kwargs={ 'label': self.label

79930

博客文章详情页

此外我们通过 app_name='blog' 告诉 Django 这个 urls.py 模块是属于 blog 应用,这种技术叫做视图函数命名空间。...但是一个复杂 Django 项目可能不止这些视图函数,例如一些第三方应用也可能有叫 index、detail 视图函数,那么怎么把它们区分开来,防止冲突呢?...reverse 函数 def get_absolute_url(self): return reverse('blog:detail', kwargs={'pk': self.pk...看到这个 reverse 函数,它第一个参数值是 'blog:detail',意思是 blog 应用 name=detail 函数,由于我们在上面通过 app_name = 'blog' 告诉了...Django 这个 URL 模块是属于 blog 应用,因此 Django 能够顺利地找到 blog 应用下 name 为 detail 视图函数,于是 reverse 函数会去解析这个视图函数对应

1.4K70

二、路由、模板

编写URLconf注意: 若要从url捕获一个值,需要在它周围设置一对圆括号 不需要添加一个前导反斜杠,应该写作'test/',而不应该写作'/test/' 每个正则表达式前面的r表示字符串不转义...URL 应用:在对象列表中生成查看详细URL,使用此方法即可!!!...('h2', args=(2012,))      路径:django.urls.reverse 另外,比如用户收藏夹收藏URL是旧,如何让以前 /h2/2012/自动跳转到现在新网址呢?...django路由系统和其他语言框架有所不同,在django每一个请求url都要有一条路由映射,这样才能将请求交给对一个view函数去处理。...block 以便继承模板可以重写该部分,include 是包含其它文件内容,就是把一些网页共用部分拿出来,重复利用,改动时候也方便一些,还可以把广告代码放在一个单独html,改动也方便一些,

1.8K80

02.Django基础二之URL路由系统

include其他URLconfs(也叫URL分发)   问大家一个问题,views和models文件是不是都放在每一个app应用里面了啊,而urls.py这个文件放在哪了,是不是放在项目文件夹里面了...urls.py里面的内容copy一下,放到你在app01文件夹下创建那个urls.py文件,把不是这个app01应用url给删掉就行了) from django.conf.urls import...,还要以空结尾,写在项目的urls.py文件里面就是项目的首页,写在应用文件夹里面的urls.py文件,那就是app01首页 ?...在更高层与处理Django 模型实例相关代码:使用get_absolute_url() 方法。   上面说了一大堆,你可能并没有看懂。(那是官方文档生硬翻译)。   ...appurls.py中就不需要写app_name='应用名'了,看app01下urls.py写法: from django.conf.urls import url from django.contrib

1.5K20

Django学习-第二讲 DjangoURL与视图

那么如何在django实现这种需求呢。 第一种:这时候我们可以在path函数,使用尖括号形式来定义一个参数。...URL模块化 URL包含另外一个urls模块: 在我们项目中,不可能只有一个app,如果把所有的appviews视图都放在urls.py中进行映射,肯定会让代码显得非常乱。...因此django给我们提供了一个方法,可以在app内部包含自己url匹配规则,而在项目的urls.py再统一包含这个appurls。使用这个技术需要借助include函数。...这个app相关url都移动到app/urls.py中了,test1/urls.py,通过include函数包含book.urls,以后在请求book相关url时候都需要加一个book前缀。...在做反转时候,如果使用应用命名空间,就会发生混淆,为了避免这个问题,可以使用实例命名空间,实例命名空间使用,namespace='实例命名空间' urls.py from django.contrib

1.1K10

Pycharm开发Django项目URL分发器

那么如何在django实现这种需求呢。这时候我们可以在path函数,使用尖括号形式来定义一个参数。比如我现在想要获取一本书籍详细信息,那么应该在url中指定这个参数。...URL包含另外一个urls模块: 在我们项目中,不可能只有一个app,如果把所有的appviews视图都放在urls.py中进行映射,肯定会让代码显得非常乱。...因此django给我们提供了一个方法,可以在app内部包含自己url匹配规则,而在项目的urls.py再统一包含这个appurls。使用这个技术需要借助include函数。...文件把所有的和book这个app相关url都移动到app/urls.py中了,然后在first_project/urls.py,通过include函数包含book.urls,以后在请求book相关...然后再统一注册到项目的urls.py文件。include函数有多种用法,这里讲下两种常用用法。 include(pattern,namespace=None):直接把其他appurls包含进来。

76610

Python自动化运维:Django之U

配置, urls.py默认加入了admin模块url: # urlTest.urls.py  from django.conf.urls import url, include from django.contrib...默认情况下app1模块是没有urls.py文件,在我们新建了之后,还需要在urlTesturls.py加上: url(r'^app1/', include('app1.urls')) #这样就包括了...app1模块urls.py文件 接下来在新建app1模块下urls.py写动态正则表达式: #  app1.urls.py from django.conf.urls import url from...函数里面传输额外数据,那么额外数据将传输给被包含urls.py每一行url函数上。...而url patterns就代表着一个URL分解器(url resolver),使用include函数包含其他url配置模块也是作为一个URL分解器来解析,在django中使用类django.core.urlresolvers.RegexURLResolver

1.1K30
领券