在应用程序models.py中,我使用get_absolute_url
使用位于不同应用程序urls.py中的“名称”来返回到特定路径。
但是我当然会出错,因为我还没有为该应用创建urls.py,因为其他一些urls.py中已经存在urlpattern。
那么我可以反向使用任何include(app.urls)类型功能吗?
#app: A - urls.py
urlpatterns = [
path('post/<int:pk>/', PostDetailView.as_view(), name = 'post-detail'),
...
]
#app: B - models.py
def get_absolute_url(self):
return reverse('post-detail',kwargs = {'post_id.id':self.post_id.id})
答案 0 :(得分:0)
在您的主要urls.py文件中,您必须按如下所示添加所有应用程序url,然后以get absolute方法调用它。您仅在特定模型上定义此方法,并通过自身链接到实例。
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('your_app.urls')),
]
您还可以将get absolute方法修改为
def get_absolute_url(self):
return reverse('post-detail',kwargs = {"pk": self.pk)