从Django中的视图中删除查询字符串

时间:2019-07-19 06:51:17

标签: javascript python django python-3.x

我有一个名为Controlpanel的页面,可以在其中启动/停止脚本。按下启动脚本和停止脚本按钮时,它将返回更改按钮颜色的同一页面,并且我要删除查询字符串。

view.py

def controlpanel(request):
   data = {'paypal': paypal_, 'cpu': cpu_usage, 'active': active_task ...}
   return render(request, 'admin/controlpanel.html', context=data) 

def startapp(request):
    if request.META['QUERY_STRING']:
        #... start scripts etc..
        request.META['QUERY_STRING'] = False

        return controlpanel(request)  

该函数返回带有查询字符串的控制面板...(127.0.0.1:8000/startapp?run=True但我只想要127.0.0.1:8000/controlpanel)

controlpanel.html

<div>
{% if active %}
 <button onclick="f()" class="btn btn-md btn-success">Start</button>
{% else %}
 <button onclick="f()" class="btn btn-md btn-warning">Start</button>
{% endif %}
</div>


<script>
function f() {
let a = null;
if ('{{active}}' === 'True') {
  a = 'stop'
} else {
  a = 'start'
}
window.location.href = "/startapp?run=" + a;            
}
</script>

1 个答案:

答案 0 :(得分:1)

您可以使用Django的redirect返回不带查询参数的URL。