首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对于django-mptt,目前有哪些get_absolute_url的方法?

对于django-mptt,目前有哪些get_absolute_url的方法?
EN

Stack Overflow用户
提问于 2021-08-17 17:12:11
回答 1查看 49关注 0票数 0

我读了其他问题,但我没有找到任何对Django 3有用的东西,它们就是不能工作。

链接类型需要如下:post/categories/subcategories/**等

我认为一个适当的答案对每个人都是有用的。

告诉我如何为DetailView执行此操作

代码语言:javascript
代码运行次数:0
运行
复制
class Category(MPTTModel):
title = models.CharField(max_length=255, verbose_name=_('Заголовок'))
slug = models.SlugField(max_length=255, verbose_name=_('URL'), blank=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children', db_index=True, on_delete=models.CASCADE)

class MPTTMeta:
    order_insertion_by = ['title']

class Meta:
    unique_together = ['parent', 'slug']
    verbose_name = _('Категория')
    verbose_name_plural = _('Категории')

urls.py

代码语言:javascript
代码运行次数:0
运行
复制
urlpatterns = [
path('category/<slug:slug>/', CategoryListView.as_view(), name='category_detail'),
]

views.py

代码语言:javascript
代码运行次数:0
运行
复制
class CategoryListView(ListView):
model = Category
template_name = 'modules/post/category_detail.html'
context_object_name = 'category'
queryset = Category.objects.all()

def get_queryset(self):
    queryset = self.queryset.filter(slug=self.kwargs['slug'])
    return queryset
EN

回答 1

Stack Overflow用户

发布于 2021-08-17 17:32:32

你可以使用reverse urls

codebase/urls.py

代码语言:javascript
代码运行次数:0
运行
复制
urlpatterns = [
    path('', include('my_app.urls', namespace='my_app_namespace')),
]

codebase/my_app/urls.py

代码语言:javascript
代码运行次数:0
运行
复制
urlpatterns = [
    path('category/<int:my_var>', views.my_view, name='my_view_name'),
]

codebase/any_python_file.py

代码语言:javascript
代码运行次数:0
运行
复制
from django.urls import reverse
reverse('my_app_namespace:my_view_name', args=[my_var])
>>> 'https://...'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68821481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档