如何避免 Django 将 url 链接添加到链接后面的每个 html 元素

Posted

技术标签:

【中文标题】如何避免 Django 将 url 链接添加到链接后面的每个 html 元素【英文标题】:How to avoid that Django adds url link to every html element that follows the link 【发布时间】:2022-01-09 20:39:51 【问题描述】:

我想在 Django 中实现一些非常基本的东西,但不知道我做错了什么。在我的应用程序“index.html”上,我想添加一个按钮,该按钮重定向到具有其他内容的另一个 html 模板(“site.html”)。我将以下内容添加到正在工作的“index.html”中:

<body>
<h2>foo</h2>
    % block content %
    <button><a href="% url 'site' %"/>Click</button>
    % endblock %
<p>bar</p>
</body>

单击该按钮可以访问“site.html”,但是我在“index.html”上添加的所有 html 项目,例如“bar”段落也将呈现为超链接。 我尝试创建不同的 Django 块或制作不同的 html 部分,但这并不能解决问题。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您的元素后缺少一个结束锚&lt;/a&gt; 标记。

<body>
<h2>foo</h2>
    % block content %
    <button><a href="% url 'site' %">Click</a></button>
    % endblock %
<p>bar</p>
</body>

我会注意到,我不确定在按钮中包含锚标记是否“正确”。我认为您最好将锚标记设置为按钮。

【讨论】:

非常感谢,就是这样。我不再只见树木不见森林。

以上是关于如何避免 Django 将 url 链接添加到链接后面的每个 html 元素的主要内容,如果未能解决你的问题,请参考以下文章

Django:在模板中获取到管理页面的链接

Django如何指定一个基本的url

Django - 一个 URL 链接到两个视图?

如何将 ID 的编辑方法转移到 Django 中的按钮/链接?

将 url 添加到 Django admin 中 TabularInline 中的字段

如何在 Django 中创建添加到队列选项?