python django 如何让views.py中的变量通过判断后再传给模板

defmysql(request):mysql_version="5.1.73"mysql_port=os.popen("netstat-ntlp|grepmysqld|... def mysql(request):

mysql_version = "5.1.73"
mysql_port = os.popen("netstat -ntlp | grep mysqld | awk '{print $4}' | awk -F ':' '{print $NF}'").read()

mysql_start = os.popen("/etc/rc.d/init.d/mysqld start >>/dev/null").read()
mysql_stop = os.popen("/etc/rc.d/init.d/mysqld stop >>/dev/null").read()
return render_to_response('mysql.html',locals())
我想通过点击这个类似按钮就能实现启动的功能..但mysql.html这个页面.我并没有引用{{mysql_start}} 页面一刷新这些启动停止的命令就执行了.请高手帮忙改正.
展开
 我来答
老夭来了
推荐于2016-04-28 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
采纳数:1806 获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。

向TA提问 私信TA
展开全部

你一刷新页面,这个方法就执行了,所以里面的进程就执行了啊。

按照你的需求,你可以给那个按钮增加一个参数,比如

<a href="url?go=1">start</a>
def mysql(request):
   go = request.GET.get('go', 0)

   if go == 1:
       mysql_version = "5.1.73"
       mysql_port = os.popen("netstat -ntlp | grep mysqld | awk '{print $4}' | awk -F ':' '{print $NF}'").read()

       mysql_start = os.popen("/etc/rc.d/init.d/mysqld start >>/dev/null").read()
       mysql_stop = os.popen("/etc/rc.d/init.d/mysqld stop >>/dev/null").read()
   eturn render_to_response('mysql.html',locals())


如果解决了您的问题请采纳!

如果未解决请继续追问!

更多追问追答
追问
def nginx(request):
go = request.GET('go',0)
if go == 1:

谢谢你的回答。我这样写好像会报错。
小弟刚开始学。还请大神帮忙给仔细分细一下。
追答
你看一下我那个代码,GET.get
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式