当前位置:  开发笔记 > 编程语言 > 正文

如何在django中生成网址

如何解决《如何在django中生成网址》经验,为你挑选了2个好方法。

在Django的模板语言中,您可以使用{% url [viewname] [args] %}生成带有参数的特定视图的URL.你怎么能以编程方式在Python代码中做同样的事情?

我需要的是创建一个菜单项列表,其中每个项目都有名称,URL和活动标志(无论它是否是当前页面).这是因为在Python中执行此操作比使用模板语言要清晰得多.



1> Peter Hoffma..:

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

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

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



2> Garth Kidd..:

我正在使用两种不同的方法models.py.第一个是permalink装饰者:

from django.db.models import permalink

def get_absolute_url(self): 
    """Construct the absolute URL for this Item."""
    return ('project.app.views.view_name', [str(self.id)])
get_absolute_url = permalink(get_absolute_url)

您也可以reverse直接致电:

from django.core.urlresolvers import reverse

def get_absolute_url(self): 
    """Construct the absolute URL for this Item."""
    return reverse('project.app.views.view_name', None, [str(self.id)])

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有