[django]带有 HTML 的文本字段中的 django URL

· 收录于 2023-09-24 05:53:09 · source URL

问题详情

在我的 Django 电子商务项目中,我有一个明显的产品模型,带有预期的描述字段:

描述 = 模型。文本字段(...)

我配置了以下网址:

path(product/slug:slug, views.product_detail, 名称=product_detail),

显然,它提供这样的 URL:

http://localhost:8000/product/foo

当产品 foo 是带有产品的集合的一部分时,我想将相应的链接添加到此类产品的描述字段中,例如您可能想和这个一起购买酒吧

然而,在foo的描述中添加一个指向bar的链接被证明是棘手。 整个描述字段(从旧版ecomm应用程序导入)可以包含任意HTML,并且由于它不是用户输入,因此我在模板中将其呈现为:

{% autoescape off %}
  {{ product.description }}
{% endautoescape %}

当我将其添加到(文本字段)描述中时:

> This item together with <a href="product/bar">Bar</a> (sold separately)

,则模板中生成的 URL 错误:

http://localhost:8000/product/product/bar/

,但是如果我不在描述的 url 中使用此/product:

> This item together with <a href="/bar">Bar</a> (sold separately)

,网址也是错误的:

http://localhost:8000/bar/

我承认,我不明白 Django 是如何构建第一个第二个 URL 的。所以具有讽刺意味的是,两者都不是我想要的)

谢谢你的时间。

最佳回答

这与Django无关。 尝试使用

    > This item together with <a href="/product/bar">Bar</a> (sold separately)

请注意,链接以斜杠开头

希望对你有帮助