【发布时间】:2018-10-10 09:44:13
【问题描述】:
我是 python 新手,正在从 AngularJs 过渡。 我正在努力实现登录以呈现特定模板而不刷新整个页面。
Base.html 有两个模板,而这两个模板又有另外两个。 现在它们都有不同的 URL,所以当我热一个 URL 时,会渲染那个特定的 HTML,杀死所有其他的。
我的基础 HTML 包含所有将始终存在的元素(如 index.html)
<div class="container">
<div class="row">
<div class="col s3 offset-s3">
<div class="card blue-grey darken-1">
<div class="card-content white-text">
<span class="card-title">Dice</span>
<p>Throw dice</p>
</div>
<div class="card-action">
<a href="#dice">Let's Play</a>
{% comment %} <a href="#">This is a link</a> {% endcomment %}
</div>
</div>
</div>
<div class="col s3">
<div class="card blue-grey darken-1">
<div class="card-content white-text">
<span class="card-title">Hangman</span>
<p>You know it</p>
</div>
<div class="card-action">
<a href="#hangman">Let's Play</a>
{% comment %} <a href="#">This is a link</a> {% endcomment %}
</div>
</div>
</div>
</div>
</div>
两者的区别在于 URL。现在当 URL 是 "/#dice" 我希望顶部横幅仍然存在,但两个框应该消失并且其他 html 应该出现
谢谢:)
【问题讨论】:
-
您是否阅读过文档:docs.djangoproject.com/en/2.1/ref/templates/language?听起来这部分会特别有用,因为您似乎根本没有使用继承:docs.djangoproject.com/en/2.1/ref/templates/language/#id1
-
我已经读过了,但我想它只解释了第一次加载页面时我们可以遵循的内容。我的问题是,页面已经加载,现在我点击一个链接,它只是附加了另一个模板。
-
这听起来很不正常。它是哪个链接?是上面的一种吗? (他们只有
#作为 href 值,所有这一切都会将窗口跳转到文档的顶部。当然,除非你有一些 javascript 干预。) -
已编辑。添加了两张图片以便更好地理解
-
/wel/和/wel/#dice就 Django 而言被认为是完全相同的 URL - 在这两种情况下它都会将其视为/wel/。默认情况下,散列部分将移动窗口,因此 iddice的元素位于页面顶部 - 如果需要,您可以使用 Javascript 自定义/更改它,但 Django 没有注意到它。 URL 的“哈希”部分用于客户端路由,而不是服务器端。
标签: python django django-templates