Python Django:打印视图的url而不硬编码url

Python Django:打印视图的url而不硬编码url,python,django,Python,Django,我是否可以打印模板中某个视图的url/admin/manage/products/add 下面是我要为其创建链接的规则 (r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}), 我希望有/管理/产品/添加一个没有硬编码的模板。我该怎么做 编辑:我没有使用默认管理员(当然,我是,但它位于另一个url),这是我自己的如果您使用,您可以在模板中执行以下操作 {% url crea

我是否可以打印模板中某个视图的url
/admin/manage/products/add

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

(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),
我希望有/管理/产品/添加一个没有硬编码的模板。我该怎么做

编辑:我没有使用默认管理员(当然,我是,但它位于另一个url),这是我自己的

如果您使用,您可以在模板中执行以下操作

{% url create_object %}

创建URL的首选方法是向模型类添加
get\u absolute\u URL
方法。你可以在那里对路径进行硬编码,这样你至少可以更接近于遵循亲吻哲学

您可以进一步利用
permalink
decorator,该decorator根据URL配置绘制路径


您可以在django文档中阅读更多内容。

您可以使用
获取绝对url
,但这只适用于特定对象。由于您的对象尚未创建,因此在这种情况下无法工作

你想用。下面是一个简短的介绍:

将URL.py中的行更改为:

(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}, "create-product"),
然后,在模板中,您可以使用以下内容显示URL:

{% url create-product %}
如果您使用的是Django 1.5或更高版本,则需要:

{% url 'create-product' %}

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

如何在视图中调用url?例如,返回HttpResponseRedirect(…),其中。。。是url create PRODUCTION的值不要忘记在
url.py
中添加
name=
,例如:
(r'^view/$,'view.function',name='hiya')