关于python:Django:打印视图URL而不对URL进行硬编码

关于python:Django:打印视图URL而不对URL进行硬编码

Django: Print url of view without hardcoding the url

我可以在模板中打印出某个视图的URL /admin/manage/products/add吗?

这是我要为其创建链接的规则

1
(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),

我想将/ manage / products / add添加到模板中而不对其进行硬编码。 我怎样才能做到这一点?

编辑:我没有使用默认的管理员(嗯,我是,但它在另一个URL),这是我自己的


您可以使用get_absolute_url,但这仅适用于特定对象。由于尚未创建对象,因此在这种情况下将无法使用。

您要使用命名的URL模式。快速介绍:

将您的urls.py中的行更改为:

1
(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''},"create-product"),

然后,在模板中使用它显示URL:

1
{% url create-product %}

如果您使用的是Django 1.5或更高版本,则需要:

1
{% url 'create-product' %}

您可以使用命名URL模式做一些更强大的事情,它们非常方便。请注意,它们仅在开发版本(以及1.0)中。


如果您使用命名的网址格式,则可以在模板中进行以下操作

1
{% url create_object %}

创建URL的首选方法是在模型类中添加get_absolute_url方法。您可以在此处对路径进行硬编码,因此至少可以更进一步遵循KISS哲学。

您可以通过使用permalink装饰器来进一步了解该装饰器,该装饰器根据urls配置来计算路径。

您可以在django文档中阅读更多信息。


推荐阅读

    linux重新链接库命令?

    linux重新链接库命令?,代码,软件,平台,产品,电脑,系统,入口,市场,工业,通信,l

    linux打印ip命令?

    linux打印ip命令?,地址,系统,信息,代码,手机,网络,命令,电脑,设备,终端,如何

    linux链接远程命令?

    linux链接远程命令?,系统,地址,网络,密码,软件,名称,工具,服务,电脑,认证,如

    linux访问模板命令?

    linux访问模板命令?,工作,地址,系统,信息,管理,命令,目录,发行,设备,文件,lin

    linux命令行链接网络?

    linux命令行链接网络?,网络,系统,地址,工作,工具,最新,网址,数据,信息,环境,l

    linux动态链接库命令?

    linux动态链接库命令?,代码,项目,工程,电脑,网上,文件,程序,静态,命令,目录,

    linux命令行打印机?

    linux命令行打印机?,网络,系统,管理,打印机,代码,设备,地址,官网,状态,软件,

    linux命令行打印输出?

    linux命令行打印输出?,地址,工作,命令,网络,信息,标准,系统,文件,目录,控制

    linux删除视图命令?

    linux删除视图命令?,系统,软件,电脑,管理,地方,环境,地址,检测,情况,名称,ubu

    linux取消链接命令行?

    linux取消链接命令行?,工具,状态,环境,数据,命令,文件,终端,模式,指令,界面,l

    linux清除打印命令?

    linux清除打印命令?,地址,名称,不了,工作,命令,文件夹,系统,信息,标准,文件,L

    linux删除硬链接命令?

    linux删除硬链接命令?,工作,数据,系统,信息,链接,命令,设备,名称,不了,概念,l

    linux创建软链接命令?

    linux创建软链接命令?,工作,地址,位置,系统,信息,管理,服务,名字,链接,文件,

    linux打印屏幕命令是?

    linux打印屏幕命令是?,系统,工作,工具,管理,地址,网络,信息,基础,命令,初级,l

    linux打印文件名命令?

    linux打印文件名命令?,系统,工作,管理,命令,信息,标准,工具,预期,目录,文件,L

    linux中打印列的命令?

    linux中打印列的命令?,工作,地址,分析,系统,信息,命令,目录,简介,第一,管理,l

    linux打印日期命令?

    linux打印日期命令?,时间,系统,工作,命令,标准,环境,档案,信息,设备,位置,Lin

    linux中软链接命令?

    linux中软链接命令?,位置,设备,数据,信息,系统,文件,链接,地址,对比,源文件,L

    linux命令链接网页?

    linux命令链接网页?,网络,信息,系统,网址,工具,网站,状态,发行,数据,命令,Lin

    linux软链接命令用法?

    linux软链接命令用法?,时间,系统,位置,服务,链接,数据,地址,基础,不了,信息,L