【问题标题】:Django redirect to page with new contextDjango 重定向到具有新上下文的页面
【发布时间】:2015-12-10 08:54:47
【问题描述】:

我有这段代码:

{% for i in list %}
<button>{{i}}</button>
{% endfor %}

我如何重定向到一个新页面并将i的值作为上下文传递给它,这样它就会变成这样:

<h3> You chose {{i}} </h3>

它不一定是一个按钮,事实上我更喜欢它可以是&lt;span&gt;,具有与AngularJS中相同的功能ng-click

我是否需要通过单击按钮发送请求,然后在views.py 中处理它?我可以在没有表格的情况下这样做吗? 我希望它只是将我重定向到.../page?i='whatever' 我可以用

&lt;span&gt;&lt;a href=".../page?i={{i}}"&gt;Click&lt;/a&gt;&lt;/span&gt;

但是,Django 的首选方式是什么?

【问题讨论】:

    标签: html django django-templates django-views


    【解决方案1】:

    我是否需要通过单击按钮发送请求,然后在 view.py?

    是的,您需要创建一个视图来处理该请求,该请求的类型为 GET,并且其中包含数据 i。

    我可以在没有表格的情况下这样做吗?

    是的,您当然可以,因此您将其设置为链接而不是按钮的方法会更好,并且在大多数情况下应该/应该这样做。但是这种方法没有任何 Djangoish 内容,它只是应该这样做的方式......

    如果它只是将我重定向到 .../page?i='whatever' 我可以 这样做

    照着做就好了。

    <span><a href=".../page?i={{i}}">Click</a></span>
    

    我如何重定向到一个新页面并将 i 的值作为上下文传递给它,这样它就会像这样&lt;h3&gt; You chose {{i}} &lt;/h3&gt;:

    def link(request):
     i = request.GET.get('i',None)
     render_to_response('your_html_template', {"i": i}, RequestContext(request))
    

    【讨论】:

      猜你喜欢
      • 2019-09-28
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2012-01-15
      • 2016-05-30
      • 2015-10-05
      相关资源
      最近更新 更多