【问题标题】:Nested Views in Django - PythonDjango 中的嵌套视图 - Python
【发布时间】: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> 

图片 1 - 登陆页面

图 2

两者的区别在于 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/。默认情况下,散列部分将移动窗口,因此 id dice 的元素位于页面顶部 - 如果需要,您可以使用 Javascript 自定义/更改它,但 Django 没有注意到它。 URL 的“哈希”部分用于客户端路由,而不是服务器端。

标签: python django django-templates


【解决方案1】:

您可以使用另一个 URL(在 urls.py 中)创建不同的视图(在 views.py 中),并使用 javascript 发出请求以获取 HTML sn-p。

然后,将其附加到页面中您需要的位置,也可以使用 Javascript。

【讨论】:

    猜你喜欢
    • 2019-12-14
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多