[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)
请注意,链接以斜杠开头
希望对你有帮助