4

从views.py,有没有办法让它进入HTML 中的id 标签?

例如,

我的html: <body> <div id="lotofstuff"> content </div> <div id="pictures"> content </div> </body>

在特殊情况下,我希望响应转到http://www.url.com#pictures,所以它转到页面中间。

谢谢你。

4

2 回答 2

7

Without redirecting I would set a variable in your view and pass it to your template.

gotodiv = False
if somecase:
    gotodiv = 'pictures'

Then, in your template, have some simple javascript to go to the div.

{% if gotodiv %}
<script> window.location.hash = '#{{gotodiv}}'; </script>
{% endif %}

No extra hits on your webserver or django app.

*Edited to make location.hash dynamic.

于 2012-07-17T22:48:29.867 回答
0

我不知道从一个角度来看这是否可能(也许是的),但我能想象的最简单的方法是使用来自模板的重定向,所以你可能有:

YourView:
 [...]
 if condition1:
  context.update('center_in_the_middle':True)
 else:
  context.update('center_in_the_middle':False)
[...]

然后在模板中:template0.html

{% if center_in_the_middle %}
  [redirect to URL1]
{% else %}
  [redirect to URL2]
{% endif %}

希望能帮助到你!

于 2012-07-17T22:39:56.653 回答