在Django的模板语言中,您可以使用{% url [viewname] [args] %}生成带有参数的特定视图的URL.如何在Python代码中以编程方式执行相同的操作?

我需要的是创建一个菜单项列表,其中每个菜单项都有名称、URL和活动标志(无论它是不是当前页面).这是因为用Python做这件事要比用模板语言干净得多.

推荐答案

如果需要在代码中使用类似于{% url %}模板标记的东西,Django提供了django.core.urlresolvers.reverse().reverse函数具有以下特征:

reverse(viewname, urlconf=None, args=None, kwargs=None)

https://docs.djangoproject.com/en/dev/ref/urlresolvers/

在进行此编辑时,导入的值为django.urls import reverse

Django相关问答推荐

Django:我的上下文变量不能用于重复的for循环

Django modelform在包含在另一个模板中时不呈现

如何在 Django 中设置与 Session 相关的字段

如何将多个模型添加到单个列表视图?

Django:使用相同的外键在不同的应用程序中 Select 多个列

未为部署的 django rest 框架加载静态文件

组织大型 Django 元素的指南

如何查看 Django 调试工具栏?

ManyRelatedManager 不可迭代

Django - 如何在其管理模块中访问模型的详细名称?

(fields.E300) 字段定义与模型的关系,该模型要么未安装,要么是抽象的

在 django 模板中遇到 user.is_authenticated 问题

在 Django 中获取下一个和上一个对象

有 Django List View 模型排序吗?

Python:获取异常的错误消息

django:TypeError:'tuple'对象不可调用

单击弹出框会滚动回页面顶部 [Bootstrap 和 Django]

django admin 排序外键字段列表

django-rest-framework 接受 JSON 数据?

Django的不区分大小写的网址?